最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - How to get the status of test(i.e. pass or fail or error) in Postman? - Stack Overflow

programmeradmin2浏览0评论

Here is my test case in postman

pm.test("verify the JSON object keys for machines - ", function() {
    if (Object.keys(data).length === 0) {
        pm.expect(Object.keys(data).length).to.eq(0);
    }
}

Now if status of this test is PASS then I don't want to execute next test case but if status is FAIL then next test case should get executed Next test case is -

pm.test("verify the JSON object keys for machines- ", function() {
        pm.expect(data[1]).to.have.property('timeStamp');
    }

Here is my test case in postman

pm.test("verify the JSON object keys for machines - ", function() {
    if (Object.keys(data).length === 0) {
        pm.expect(Object.keys(data).length).to.eq(0);
    }
}

Now if status of this test is PASS then I don't want to execute next test case but if status is FAIL then next test case should get executed Next test case is -

pm.test("verify the JSON object keys for machines- ", function() {
        pm.expect(data[1]).to.have.property('timeStamp');
    }
Share Improve this question asked Nov 9, 2019 at 13:23 DevDev 2,8112 gold badges24 silver badges37 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 4 +50

Perhaps this can be achieved by programmatically skip the tests. Here is the syntax

(condition ? skip : run)('name of your test', () => {

});

Take one variable, update it if the result of the first test is passed

var skipTest = false;

pm.test("verify the JSON object keys for machines - ", function() {
    if (Object.keys(data).length === 0) {
        pm.expect(Object.keys(data).length).to.eq(0);
        skipTest = true // if the testcase is failed, this won't be updated
    }
}

(skipTest ? pm.test.skip : pm.test)("verify timeStamp keys for machines-", () => {
     pm.expect(data[1]).to.have.property('timeStamp');
});

Result Skip

Result Without Skip

Logically, you need the "OR" function, but there is no such one in the postman. What I would suggest is to get true/false result end check it with the postman.

pm.test("verify the JSON object keys for machines - ", function() {
    const result = 
        Object.keys(data).length === 0 || // true if there are no properties in the data object
        'timeStamp' in data; // or true if there is timeStamp property in the data object
    
    pm.expect(lengthEqualZero || hasPropertyTimeStamp).to.be.true;
}

发布评论

评论列表(0)

  1. 暂无评论