В Jmeter, что будет синтаксисом параметров в разделе Body Data в HTTP Request Sampler, если я использую Rest API и беру данные из CSV файлов?
Я пытаюсь создать 10 пользователей одновременно в Jmeter, используя REST API.
Тестовые данные, то есть входные данные берутся из файлов CSV (сведения о таких пользователях, как имя пользователя, фамилия, мобильный)
Для этого я добавил одну группу потоков, User Defined Variable, HTTP Header Manager, HTTP Request Sampler (которые выполняют успешный вход в веб-приложение), JSON PATH EXTRACTOR (чтобы извлечь токен аутентификации, который будет использоваться при добавлении пользователя)
Чтобы добавить пользователя, я использовал один "Loop Controller" - "HTTP Request Sampler" - HTTP Header Manager, CSV Data Set Config.
И чтобы отслеживать результат, просмотрите дерево результатов и сводный отчет.
Скажите, пожалуйста, какой будет синтаксис параметров, которые я передаю в разделе "Данные тела" пробометра HTTP-запроса, чтобы он мог читать значения из файлов csv.
Ниже приведен синтаксис, который я использую сейчас, чтобы добавить одного пользователя.
{
"phoneNo": "9998885551",
"lastName": "john25",
"email": "[email protected]",
"firstName": "ricky25",
"mobileNo": "9820420420"
}
Ответы
Ответ 1
Если ваш CSV файл выглядит так:
9998885551,john25,[email protected],ricky25,9820420420
9998885552,john26,[email protected],ricky26,9820420421
....
Конфигурация должна быть следующей:
- Имя файла: полный путь к исходному файлу .csv
- Переменные имена:
phone,lastname,email,firstname,mobile
- Разделитель:
,
Заполните другие значения в соответствии с вашим тестовым сценарием, т.е. хотите ли вы, чтобы тест останавливался на конце файла CSV или перекручивался или что-то еще.
![CSV Config]()
И ваш HTTP-запрос должен выглядеть так:
![Using CSV Variables in HTTP Request]()
Главное, что переменные, определенные в конфигурации набора данных CSV, должны соответствовать тем, которые указаны в HTTP-запросе.
Подробные инструкции см. в с помощью CSV DATA SET CONFIG.
Я бы также рекомендовал добавить следующую запись в ваш менеджер заголовков HTTP:
- Имя:
Content-Type
- Значение:
application/json
Кроме того, ваш запрос будет обрабатываться как обычный текст и может выйти из строя.
Кроме того, не забудьте отключить просмотр ресиверов для просмотра фактических нагрузочных тестов, так как он потребляет много ресурсов и может привести к ошибкам со стороны памяти на стороне JMeter.
Ответ 2
Кроме того, если ваши данные formparam\Body содержат несколько параметров, например:
UserName=abc
password=abc123,
Вместо создания двух столбцов для имени пользователя и пароля он может быть указан в одном столбце следующим образом:
UserName=abc&password=abc123
Таким образом, вы можете перебирать несколько разных URL-адресов, которые принимают разные номера bodydatap >
Например: Если URL1 принимает только имя пользователя как данные тела, а URL2 принимает имя пользователя и пароль как данные тела, это будет простым решением.