javascript - 无法为函数添加价值并停止执行请求(邮递员)
问题描述
我对 POSTMAN 很陌生,也在寻找其他方法来编写这个函数。任何其他方式都非常感激。
下面是 POSTMAN 中的 200 状态 OK 测试。如果状态没有恢复为 200 状态正常,我想将该失败记录/计数为值(+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
}
(屏幕截图 - 无法停止执行请求)
解决方案
你可以这样算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);
}
推荐阅读
- angular - RadioButtons Internet Explorer 双击
- mysql - 如何在 MySQL 工作台中撤消“过滤到此模式”?
- asp.net - ASP.NET - 带有 SQL 数据源保管箱的 webform 未将文本发布到文件
- r - 将列表转换为所需的结构化数据框
- javascript - 如何为数据更改编写firebase函数,以一个链式惯用承诺将文件写入云存储桶?
- javascript - 在 php 中回显时 Javascript 不起作用
- python - 如何在 tensorflow 中实现多对多 RNN?
- java - 使用 spark-avro 编写数据帧创建 topLevelRecord - 想要使用现有模式
- drupal-7 - 在视图结果之间插入添加块仅适用于 S 和 XS 设备
- java - 用户支持的分配未能满足步幅要求,退回到单独分配