JMeter json path assert json или array в ответе
Я провожу тестирование api с помощью Jmeter и использую утверждение пути json к телу ответа. Проблема в том, что тело ответа дает два варианта ответа, основанные на успехе и неудаче.
за неудачу
{
"response": {
"error_message": "Invalid input data.",
"error_code": "Invalid_input",
"error": true
}
}
для успеха
{
"response": [
{
"attachment_name": "num1.png",
"attachment_id": 2547,
"error": false
},
{
"attachment_name": "num2.png",
"attachment_id": 2548,
"error": false
},
{
"attachment_name": "num3.png",
"attachment_id": 2549,
"error": false
}
]
}
Здесь я добавляю утверждение о пути и значении "ошибки", но путь меняется в результате. Добавлено$.response.error
но это работает только в случае отказа
Пожалуйста, помогите мне найти правильный путь и отстоять оба условия. Спасибо.
2 ответа
Вы можете использовать оператор глубокого сканирования ..
соответствующая конфигурация утверждения JSON будет выглядеть примерно так:
всякий раз, когда вы получаете error
Атрибут JSON со значением true
Утверждение не сможет выполнить соответствующий Сэмплер (ы) в своей области
Вы можете использовать регулярное выражение для проверки обоих значений (истина или ложь) в утверждении JSON.
Пример плана тестирования доступен для справки на GitHub.
Надеюсь, это будет полезно.