无法向函数添加值并停止执行请求 (POSTMAN)

Unable to Add Value to a Function & Stop Request from executing (POSTMAN)

我是 POSTMAN 的新手,也在寻找其他方法来编写此函数。非常感谢任何其他方式。

下面是 POSTMAN 中的 200 Status OK 测试。如果状态没有返回为 200 Status OK,我想 tally/count 该失败作为值 (+1)。在稍后的请求中,Else/if 条件(如下)将检查有多少失败。如果失败 > 0 那么这将触发一个新的请求。

但是如果此测试的状态为 (400) 而不是 200,这意味着它将失败,我如何告诉它将该失败 (+1) 计为一个值?

pm.collectionVariables.set("failures", []);
let failures = pm.collectionVariables.get("failures")

pm.test("Status test", function () {
    pm.response.to.have.status(200);
});

以下是 POSTMAN 中的预脚本请求。正如我上面提到的,如果失败的值大于 0,那么 运行 一个“新请求”。如果没有,什么也不做。我想我的 else/if 陈述是正确的。仅供参考。

let failures = pm.collectionVariables.get("failures")
console.log(failures)
if (failures.length >0) {
    console.log('failures found')
    pm.sendRequest("New Request")
} else {
    console.log('NO failures')
    postman.setNextRequest(null);
    return null
}

(屏幕截图 - 无法停止执行请求)[​​=15=]

你可以这样数 failures

let failures = pm.environment.get("failures");

if (failures === undefined || failures === null){
    failures = 0;
    pm.environment.set("failures", failures);
}

pm.test("Status test", function () {
    if (pm.response.code !== 200){
        failures += 1;
        pm.environment.set("failures", failures)
    }
    pm.response.to.have.status(200);
});

要检查的代码是:

let failures = pm.environment.get("failures")

if (failures > 0) {
    console.log('failures found')
    postman.setNextRequest("New Request")

    //you can reset failures if needed.
    pm.environment.set("failures", 0)

} else {
    console.log('NO failures')
    postman.setNextRequest(null);
}