小编AKA*_*ADO的帖子

邮递员:如果存在键:值,如何检查 Json 响应数组

如果 key:value 存在,我想检查我的 JSON 响应数组。并且我想如果键:值被发现从循环出去,并得到测试结果。 你能支持我怎么做吗?

例如,我有以下回应:

[
    {
        "persID": "personID_1",
        "vip": false,
        "account": {
            "contactName": "value1",
        },
        "premium": {
            "Name": "value2",
            "Director": "value3",
            "company": "value7",
            "homePage": "value6",
            "address": {
                "country": "value8",
                "city": "value9"
            },
            "photo": value10
        }
    },
    {
        "persID": "personID_2",
        "vip": false,
        "account": {
            "contactName": "value11",
        },
        "premium": {
            "Name": "value12",
            "Director": "value13",
            "company": "value17",
            "homePage": "value16",
            "address": {
                "country": "value18",
                "city": "value19"
            },
            "photo": value110
        }
    },
    .....
    .....// dynamic response can …
Run Code Online (Sandbox Code Playgroud)

postman

8
推荐指数
1
解决办法
2万
查看次数

邮递员 - 如何使用变量比较消息

谁能帮助我,我几乎是邮递员的新手。

我的问题如下:

  • 我发送一个 POST 请求并收到一条消息作为响应:

    { "errorCode": 1000, "errorDescription": "帐户未经管理员验证!" }

  • 此消息已保存在名为“ messageAccountIsnotVerified ”的变量中

  • 当我尝试在邮递员 tets 脚本中使用比较并将消息与预期字符串进行比较时工作正常:
pm.test("test", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.errorCode).to.eql(1000);
    pm.expect(jsonData.errorDescription).to.eql("Account is not verified by Admin!");
});
Run Code Online (Sandbox Code Playgroud)

但是当我尝试保存字符串文本“帐户未经过管理员验证!” 在名为: messageAccountIsnotVerified 的变量中 并尝试进行相同的比较

pm.test("test", function () {
    var jsonData = pm.response.json();

    pm.expect(jsonData.errorCode).to.eql(1000);
    pm.expect(jsonData.errorDescription).to.eql("messageAccountIsnotVerified");
});
Run Code Online (Sandbox Code Playgroud)

或者

pm.test("test", function () {
    var jsonData = pm.response.json();
    var message = pm.environment.get("messageAccountIsnotVerified");
    pm.expect(jsonData.errorCode).to.eql(1000);
    pm.expect(jsonData.errorDescription).to.eql(message);
});
Run Code Online (Sandbox Code Playgroud)

失败并出现错误

test | AssertionError: expected 'Account is not verified …
Run Code Online (Sandbox Code Playgroud)

postman

4
推荐指数
1
解决办法
8466
查看次数

标签 统计

postman ×2