我是Postman的新手,遇到了一个反复出现的问题,无法解决。 我试图使用在预请求脚本上建立的数据数组多次运行相同的请求,但是,当我进入跑步程序时,该请求仅运行一次,而不是3次。
请求前脚本:
var uuids = pm.environment.get(“uuids”);
if(!uuids) {
uuids= [“1eb253c6-8784”, “d3fb3ab3-4c57”, “d3fb3ab3-4c78”];
}
var currentuuid = uuids.shift();
pm.environment.set(“uuid”, currentuuid);
pm.environment.set(“uuids”, uuids);
测试:
var uuids = pm.environment.get(“uuids”);
if (uuids && uuids.length>0) {
postman.setNextRequest(myurl/?userid={{uuid}});
} else {
postman.setNextRequest();
}
我查看了有关文档的内容,但找不到我的代码有什么问题。
谢谢!
答案 0 :(得分:0)
请求前脚本不是用不同数据测试api的好方法。最好还是使用邮递员赛跑者。
首先,向邮递员准备一个包含可变数据的请求。对于例如
然后单击“运行器”标签
使用数据准备csv文件
uuids
1eb253c6-8784
d3fb3ab3-4c57
d3fb3ab3-4c78
并作为数据文件提供,并运行示例。
它将允许您使用不同的数据类型多次运行相同的api,并可以检查测试用例。
答案 1 :(得分:0)
您是如此亲密!问题是您没有为uuids
设置环境变量,因此在每次运行开始时它都是一个空列表。只需添加
pm.environment.unset("uuids")
到退出语句,它应该全部运行三次。全部指定您的下一个请求,应将其设置为null
来停止执行。
因此您的新“测试”将变为:
var uuids = pm.environment.get(“uuids”);
if (uuids && uuids.length>0) {
postman.setNextRequest(myurl/?userid={{uuid}});
} else {
postman.setNextRequest(null);
pm.environment.unset("uuids")
}