我是Postman的新手,遇到了一个我无法解决的反复出现的问题。我尝试使用在Pre-request脚本上建立的数据数组多次运行相同的请求,但是,当我转到运行器时,请求只运行一次,而不是三次。
请求前脚本:
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();
}
我已经检查了文档,但我找不到我的代码有什么问题。
谢谢!
发布于 2019-03-08 15:45:19
预请求脚本不是测试具有不同数据的api的好方法。最好使用Postman runner来实现同样的效果。
首先,准备一个包含可变数据的postman请求。例如,用于
然后单击Runner选项卡
准备包含数据的csv文件
uuids
1eb253c6-8784
d3fb3ab3-4c57
d3fb3ab3-4c78
并以数据文件的形式提供,并运行示例。
它将允许您使用不同的数据类型多次运行相同的api,并可以检查测试用例。
发布于 2020-07-31 03:51:01
你就差一步了!问题是您没有为uuids
取消设置环境变量,因此它在每次运行开始时都是一个空列表。只需将pm.environment.unset("uuids")
添加到您的exit语句中,它应该会运行三次。All通过将其设置为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")
}
https://stackoverflow.com/questions/55045200
复制相似问题