当前位置: 首页 > 知识库问答 >
问题:

使用不同的数据在Postman中多次运行请求,只运行一次

艾奕
2023-03-14

我刚接触Postman,遇到了一个我无法解决的经常性问题。我试图使用在预请求脚本上建立的数据数组多次运行同一个请求,但是,当我转到runner时,请求只运行一次,而不是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();
}

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

谢谢!

共有2个答案

亢保赫
2023-03-14

你太近了!问题在于,您没有为 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")
}
长孙朝明
2023-03-14

预请求脚本不是用不同数据测试api的好方法。最好使用邮递员相同。

首先,准备一个带有可变数据的邮递员请求。例如

然后单击Runner选项卡

准备包含数据的csv文件

uuids
1eb253c6-8784
d3fb3ab3-4c57
d3fb3ab3-4c78

并作为数据文件提供,并运行示例。

它将允许您使用不同的数据类型多次运行相同的api,并可以检查测试用例。

 类似资料:
  • 我正在使用postman编写一些测试脚本和数据清理脚本,我想知道是否可以对上一步产生的数组结果运行一个请求。 例如,我有一个API,它以JSON的形式返回任务,如下所示: 因此,在测试脚本中,我运行此命令来收集ID数组: 下一个请求是删除一个任务,但是API一次只删除一个。我试着做一些事情,比如: 我希望Postman会看到是一个数组和简单的“工作”,但事实似乎并非如此。有没有可能根据数组输入多次

  • 我想用不同的预请求脚本多次运行相同的请求?不使用数据驱动(CSV)测试,我能做什么? 例如,我必须多次运行下面的GET url(每2分钟一次),但每当我运行它时,我都需要进行不同的预请求测试! {{url}}/legacy/COL 在此处输入图像描述

  • 问题内容: 有没有办法告诉JUnit在继续下一个测试用例之前,用不同的数据连续运行一个特定的测试用例多次? 问题答案: 看看junit 4.4的理论:

  • 我希望一个进程在我启动我的网络服务后运行,然后每隔30分钟左右运行一次(我现在用较小的延迟测试它,只是为了看看它是否工作),但是我的进程从来不会运行超过一次。我做错了什么? 这是我的密码:

  • 我正在尝试发送一个经过身份验证的请求,只需点击邮递员。 所以,我有一个名为“Oauth”的请求,我正在使用测试将令牌存储在局部变量中。 我现在要做的是,对于需要承载令牌的任何其他请求,自动运行Oauth请求(从预请求脚本)。 有没有一种方法可以通过单击邮递员按钮来获取访问令牌并发送经过身份验证的请求?

  • 当我在其上传递一个帐户时,我的if会运行两次 所以是正确的: 因此它执行两次: 如何使用-400只运行一次?