【问题标题】:How to do 'OR' Operation in POSTMAN Tool如何在 POSTMAN 工具中进行“或”操作
【发布时间】:2018-07-03 16:38:07
【问题描述】:

我有一个测试来检查我得到的响应数组的对象是 1 个月还是 3 个月或 6 个月等。

我已经创建了类似下面的测试,但这些测试一直都在通过,即使是错误的条目也是如此。

pm.test ("validate each object returns correct Frequency ", () => {
var fre = JSON.parse(responseBody);
for (i = 0; i < responseJson.length; i++){
    pm.expect(fre[i].FREQUENCY) === (('1 Month') || ('3 Months') || ('6 Months') || ('1 Year rolling') || ('Since Inception'));
} });

类似的东西

pm.test ("validate each object returns correct Frequency ", function(){
pm.expect(responseJson.every((fre) => {
    (fre.FREQUENCY) === ("1 Month") || ("3 Months") || ("6 Months") || ("1 Year rolling") || ("Since Inception");
})).to.be.true;
});

也尝试过这种方式

pm.test ("validate each object returns correct Frequency ", function(){
pm.expect(responseJson.every((fre) => {
    pm.expect(fre.FREQUENCY).to.be.oneOf === ("1 Month"),("3 Months"),("6 Months"),("1 Year rolling"),("Since Inception");
})).to.be.true;});

我的 Json 响应是这样的

[     
    {
        "CURRENCY": "XXX",
        "FREQUENCY": "3 Months",
        "EFFECTIVEDATE": "XXXX",
        "RETURNS": 123123,
        "BENCHMARK": -231323
    },
    {
        "CURRENCY": "XXX",
        "FREQUENCY": "1 Month",
        "EFFECTIVEDATE": "XXXX",
        "RETURNS": 123123,
        "BENCHMARK": -231323
    }
]

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: javascript postman


    【解决方案1】:

    你可以这样做,它接近你已经拥有的:

    pm.test('Frequency Check', () => {
        _.each(pm.response.json(), (arrItem) => {
            pm.expect(arrItem.FREQUENCY).to.be.oneOf(["1 Month" , "3 Months" , "6 Months" , "1 Year rolling", "Since Inception"])
        })
    })
    

    我稍微更改了响应数据,所以你可以看到它失败时的样子:

    【讨论】:

    • 不客气 - 你几乎拥有它,我刚刚获得了荣耀。 :)
    猜你喜欢
    • 2022-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 2013-03-04
    • 2023-01-30
    • 1970-01-01
    • 1970-01-01
    • 2022-08-14
    相关资源
    最近更新 更多