【问题标题】:Running a request in Postman multiple times with different data only runs once使用不同的数据在 Postman 中多次运行请求只运行一次
【发布时间】: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();
}

我查看了有关文档,但找不到我的代码有什么问题。

谢谢!

【问题讨论】:

    标签: postman postman-collection-runner postman-pre-request-script


    【解决方案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了,但是还是不能正常加载
      猜你喜欢
      • 2018-11-24
      • 2020-12-20
      • 2021-12-22
      • 2017-01-01
      • 1970-01-01
      • 2018-11-26
      • 2021-03-16
      相关资源
      最近更新 更多