Если у вас есть XML-файл, который выглядит следующим образом:
CD,2019-10-06,68768789799
Checking,2019-10-05,45667568797
Saving,2019-10-04,24535456677
Money Market,2019-10-03,898977867554
- Добавьте JSR223 PreProcessor как дочерний элемент HTTP-запроса , который запрашивает телохотите параметризовать
Поместите следующий код в область «Сценарий»:
import groovy.xml.MarkupBuilder
import org.apache.commons.lang3.RandomUtils
def writer = new StringWriter()
def xml = new MarkupBuilder(writer)
def csvFileLines = new File('test.csv').readLines()
def lineCounter = 0
xml.IN("xmlns:ns3": "http://schema.example.com/queryparam", "xmlns:ns2": "http://schema.example.com/header", "xmlns": "http://schema.example.com/Account/CreateAC") {
"ns2:HEADER"() {
ns2:
TRANID("hgjhkjhjkhjg")
ns2:
TIMESTAMP("2019-10-06T15:32:470Z")
}
"ns3:QUERY"() {
"ns3:PARAM"() {
"ns3:ITEM"("OPERATOR")
"ns3:VALUE "("CREATEAC")
}
}
xml.ACCOUNT_SPECIFIC() {
1.upto(RandomUtils.nextInt(1, 11), {
def line = csvFileLines.get(lineCounter)
def entries = line.split(",")
ACCOUNT() {
ACCOUNT_TYPE_CODE(entries[0].trim())
OPEN_DATE(entries[1].trim())
MEMBER_ID(entries[2].trim())
}
lineCounter++
})
}
}
sampler.addNonEncodedArgument('', writer.toString(), '')
sampler.setPostBodyRaw(true)
Вот так, приведенный выше код будет генерировать от 1 до 10 ACCOUNT
блокирует и устанавливает сгенерированные данные как данные тела сэмплера HTTP-запроса. Общий план тестирования должен выглядеть следующим образом:
Список литературы: