我的data.csv文件中有一列“值”。当其值为1时,我只想运行ID为“ 1”的请求(并跳过请求ID“ 2”),而为2时,应运行请求ID“ 2”(并跳过请求ID“ 1”)。
我已经尝试了以下方法:
集合请求前脚本:
var valueFromData = pm.iterationData.get("value");
if(valueFromData === 1) {
postman.setNextRequest("1");
}
if(valueFromData === 2) {
postman.setNextRequest("2");
}
请求“ 1”预请求脚本:
var valueFromData = pm.iterationData.get("value");
if(valueFromData === 1) {
postman.setNextRequest(null);
}
if(valueFromData === 2) {
postman.setNextRequest("2");
}
请求“ 2”个预请求脚本:
var valueFromData = pm.iterationData.get("value");
if(valueFromData === 1) {
postman.setNextRequest(null);
}
if(valueFromData === 2) {
postman.setNextRequest(null);
}
实际结果:
当value = 1时,调用RequestId“ 1”。由于下一个请求被设置为null,因此跳过了RequestId“ 2”。很好。
当value = 2时,不希望调用RequestId“ 1”。但这叫!之后会调用RequestId“ 2”。
预期结果:
当value = 1时,仅应调用RequestId“ 1”。应该跳过RequestId“ 2”
当value = 2时,仅应调用RequestId“ 2”。应该跳过RequestId“ 1”
简而言之,无论设置下一个请求,总是会调用第一个收集请求。我可以知道如何有条件地跳过第一个/当前请求吗?答案 0 :(得分:0)
方法名称为setNextRequest()
我总是在测试段中使用它来设置下一个请求,而不是在请求前段中设置当前请求。
我的主张
将收集脚本删除为毫无意义的
添加空/中性请求“ 0”
在此处设置下一个请求:
if(valueFromData === 1) {
postman.setNextRequest("1");
}
if(valueFromData === 2) {
postman.setNextRequest("2");
}
:
if(valueFromData === 1) {
postman.setNextRequest(null); }
将“ 2”中的脚本删除为毫无意义的
此解决方案不是优雅的,但应该可以使用。