JMeter json 路径断言 json 或响应中的数组

JMeter json path assert json or array in the response

我正在使用 Jmeter 进行 api 测试,并对响应主体使用 json 路径断言。问题是响应主体给出了基于成功和失败的两条响应路径。

for failure

{
    "response": {
        "error_message": "Invalid input data.",
        "error_code": "Invalid_input",
        "error": true
    }
}

for success

{
    "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
        }
    ]
}

这里我在 "error" 路径和值上添加断言,但路径在结果上发生了变化。 添加了 $.response.error 但这仅适用于失败案例

请帮助我在这两种情况下获得正确的路径和断言。谢谢。

您可以使用正则表达式来验证 JSON 断言中的两个值(真或假)。

GitHub

中提供了示例测试计划以供参考

希望这有用。

您可以使用 deep scan operator ..,相关的 JSON 断言配置类似于:

每当您获得值为 trueerror JSON 属性时,断言将使其 scope

中的相关采样器失败