JMeter json путь подтверждения json или массив в ответе - PullRequest
1 голос
/ 09 января 2020

Я делаю тестирование 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, но это работает только для случая сбоя

enter image description here

Пожалуйста, помогите мне получить правильный путь и подтвердить в обоих условиях. Спасибо.

Ответы [ 2 ]

2 голосов
/ 11 января 2020

Вы можете использовать регулярное выражение для проверки обоих значений (true или false) в JSON Утверждении.

enter image description here

Пример плана тестирования доступны для справки в GitHub

Надеюсь, это полезно.

1 голос
/ 13 января 2020

Вы можете использовать оператор глубокого сканирования .., соответствующая JSON конфигурация подтверждения будет выглядеть примерно так:

enter image description here

всякий раз, когда вы получаете атрибут error JSON со значением true, Утверждение не выполнит соответствующие сэмплер (ы) в его scope

...