使用不同的数据在 Postman 中多次运行请求只运行一次
Posted
技术标签:
【中文标题】使用不同的数据在 Postman 中多次运行请求只运行一次【英文标题】:Running a request in Postman multiple times with different data only runs once 【发布时间】:2019-07-29 10:08:48 【问题描述】:我是 Postman 的新手,遇到了一个我无法解决的反复出现的问题。 我正在尝试使用在 Pre-request 脚本上建立的数据数组多次运行相同的请求,但是,当我转到运行器时,请求只运行一次,而不是 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();
我查看了有关文档,但找不到我的代码有什么问题。
谢谢!
【问题讨论】:
【参考方案1】:你离得太近了!问题是您没有为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")
【讨论】:
【参考方案2】:预请求脚本不是使用不同数据测试 api 的好方法。最好使用 Postman runner。
首先,使用带有可变数据的邮递员准备一个请求。例如
然后点击 Runner 标签页
用数据准备 csv 文件
uuids
1eb253c6-8784
d3fb3ab3-4c57
d3fb3ab3-4c78
并作为数据文件提供,并运行示例。
它将允许您使用不同的数据类型多次运行相同的 api,并且可以检查测试用例。
【讨论】:
有没有办法可以将 Run 保存为作业? @Saurabhcdt,是的,使用Newman 你好,你能给我一个真实的例子吗,因为你的图片没有正确加载。 @monti 我可以看到图片,你能换个网络看看吗? 我已经把网络改成公共wifi了,但是还是不能正常加载以上是关于使用不同的数据在 Postman 中多次运行请求只运行一次的主要内容,如果未能解决你的问题,请参考以下文章