如何通过数据文件跳过newman中的first/current请求?
How to skip first/current request in newman through data file?
我的 data.csv 文件中有一个名为 'value' 的列。当它的值为 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);
}
实际结果:
当值=1时,调用RequestId“1”。由于下一个请求被设置为空,RequestId“2”被跳过。这很好。
当值 = 2 时,预计不会调用 RequestId“1”。但它被称为!之后调用 RequestId "2"。
预期结果:
当value = 1时,只调用RequestId "1"。应跳过 RequestId“2”
当value = 2时,只调用RequestId "2"。应跳过 RequestId“1”
简而言之,无论设置下一个请求,总是调用第一个收集请求。我可以知道如何有条件地跳过 first/current 请求吗?
方法名称是 setNextRequest()
我总是在测试段中使用它来设置下一个请求,而不是在预请求段中使用它。
我的主张:
删除无意义的收集脚本
添加empty/neutral请求“0”
在此处设置下一个请求:
if(valueFromData === 1) {
postman.setNextRequest("1");
}
if(valueFromData === 2) {
postman.setNextRequest("2");
}
在“1”组的测试脚本中:
if(valueFromData === 1) {
postman.setNextRequest(null); }
删除“2”内的脚本,因为没有意义
这个解决方案不够优雅,但应该可行。
我的 data.csv 文件中有一个名为 'value' 的列。当它的值为 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);
}
实际结果:
当值=1时,调用RequestId“1”。由于下一个请求被设置为空,RequestId“2”被跳过。这很好。
当值 = 2 时,预计不会调用 RequestId“1”。但它被称为!之后调用 RequestId "2"。
预期结果:
当value = 1时,只调用RequestId "1"。应跳过 RequestId“2”
当value = 2时,只调用RequestId "2"。应跳过 RequestId“1”
简而言之,无论设置下一个请求,总是调用第一个收集请求。我可以知道如何有条件地跳过 first/current 请求吗?
方法名称是 setNextRequest()
我总是在测试段中使用它来设置下一个请求,而不是在预请求段中使用它。
我的主张:
删除无意义的收集脚本
添加empty/neutral请求“0”
在此处设置下一个请求:
if(valueFromData === 1) { postman.setNextRequest("1"); } if(valueFromData === 2) { postman.setNextRequest("2"); }
在“1”组的测试脚本中:
if(valueFromData === 1) { postman.setNextRequest(null); }
删除“2”内的脚本,因为没有意义
这个解决方案不够优雅,但应该可行。