Как подготовить несколько строк из файла json в Jmeter - PullRequest
0 голосов
/ 20 февраля 2020

Я новичок в Jmeter. Я генерирую случайные данные в файле json (скажем, для n запросов).

это запросы в файле json {"firstName":"Colton","lastName":"Alvarez","password":"K42mC7UQ","email":"Robert2@test.COM","orgName":"Alist","locationName":"Stillwell Avenue","address1":"Stillwell Avenue","address2":"11Stillwell Avenue","city":"San Francisco","state":"South Dakota","country":"United States","zipCode":"12901","orgEmail":"Gavin@test.COM"}

{"firstName":"Stella","lastName":"Barrera","password":"BUiVwvAw","email":"Alex3@test.COM","orgName":"Quicker Consulting","locationName":"Cove Lane","address1":"Cove Lane","address2":"8Cove Lane","city":"Miami","state":"North Carolina","country":"United States","zipCode":"26257","orgEmail":"Anthony@test.COM"}

{"firstName":"Violet","lastName":"Trujillo","password":"O5belqdN","email":"London1@test.COM","orgName":"Buapel Limited","locationName":"Ford Street","address1":"Ford Street","address2":"21Ford Street","city":"Miami","state":"California","country":"United States","zipCode":"72159","orgEmail":"Thomas@test.COM"}

{"firstName":"Aubrey","lastName":"Tyler","password":"Qj32XyDE","email":"Julian4@test.COM","orgName":"Yrsa Associates","locationName":"Summer Place","address1":"Summer Place","address2":"9Summer Place","city":"New York","state":"Maryland","country":"United States","zipCode":"19250","orgEmail":"Cooper@test.COM"}

{"firstName":"Emily","lastName":"Gilliam","password":"TNKqqqfX","email":"London5@test.COM","orgName":"Alist","locationName":"Washington Walk","address1":"Washington Walk","address2":"19Washington Walk","city":"New York","state":"Massachusetts","country":"United States","zipCode":"90694","orgEmail":"Tristan@test.COM"}

теперь я хочу, чтобы jmeter принял эти данные как запрос Тело, чтобы ударить номер потока

Проблема в том, что когда я помещаю данные для одного запроса в json файл, он читает их и дает мне успех. но когда в json помещаются данные из нескольких строк, он пытается получить все данные в запросе. picking file in jmeter Однако я хочу, чтобы jmeter выбирал данные из json по одному для каждого запрос не тот же.

1 Ответ

0 голосов
/ 24 февраля 2020

Скорее всего, это потому, что функция __ FileToString () считывает весь файл в тело запроса, если у вас есть отдельная полезная нагрузка JSON body в новой строке файла, которую вы Возможно, вы захотите использовать __ StringFromFile () функцию , которая будет читать следующую строку из данного файла каждый раз, когда он вызывается.

Также, если данные действительно «случайные», вы можете даже перейти к одному «заполнителю» тестовых данных, например, изменить его так:

{
  "firstName": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(6),)}",
  "lastName": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(10),)}",
  "password": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphanumeric(8),)}",
  "email": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(6),)}@test.COM",
  "orgName": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(6),)}",
  "locationName": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(20),)}",
  "address1": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(20),)}",
  "address2": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(20),)}",
  "city": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(10),)}",
  "state": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(10),)}",
  "country": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(8),)}",
  "zipCode": "${__groovy(orgorg.apache.commons.lang3.RandomStringUtils.randomNumeric(5),)}",
  "orgEmail": "${__groovy(org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(6),)}@test.COM"
}

и wrap Ваша функция __FileToString () в функцию __eval () , например:

${__eval(${__FileToString(test.json,,)})}

, таким образом, вы будете получать случайные значения при каждом запросе

...