2

我正在使用 Jmeter 进行 api 测试,并对响应正文使用 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,但这仅适用于失败情况

在此处输入图像描述

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

4

2 回答 2

3

您可以使用深度扫描运算符 ..,相关的 JSON 断言配置将类似于:

在此处输入图像描述

每当您获得error带有断言值的 JSON 属性时,其范围内true的相关采样器都会失败

于 2020-01-13T09:58:06.567 回答
2

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

在此处输入图像描述

GitHub中提供了一个示例测试计划供参考

希望这是有用的。

于 2020-01-11T09:48:34.843 回答