我有一个集合,它有三个端点。第一个端点创建一个资产,第二个端点向资产添加一个文件,第三个端点列出所有资产。我如何在Runner的每个迭代中运行第二个程序(向资产添加文件的程序)多次?我希望测试能够创建一个资产,并为每个迭代添加多个文件。有什么建议吗?我知道我可以复制端点,但我想知道是否有一种编程的方法来做到这一点。
hyrbngr71#
const counter = pm.environment.get("Counter"); const requestNumber = pm.environment.get("RequestNumber") || 1; if (requestNumber < counter) { postman.setNextRequest("RequestName"); requestNumber ++; pm.environment.set("RequestNumber", requestNumber); } else { pm.environment.set("RequestNumber", 1); }
mcdcgff02#
不使用postman.setNextRequest(),一种更简单的访问同一端点的方法是使用pm.sendRequest()。在 Test 或 Pre-request Script 中,您可以创建一个 request object,它将描述您想要发送的请求 (URL,HTTP方法,header body等) 并将其放入pm.sendRequest() * 函数 * 中。考虑:
postman.setNextRequest()
pm.sendRequest()
const requestObject = { url: 'https://postman-echo.com/post', method: 'POST', header: 'headername1:value1', body: { mode: 'raw', raw: JSON.stringify({ key: "this is json" }) } } pm.sendRequest(requestObject, (err, res) => { console.log(res); });
要多次运行相同的请求,只需将函数放入for/for..in/for..of/forEach * 循环 * 中。考虑:
for
for..in
for..of
forEach
for(let iteration = 0; iteration < 5; iteration++) { pm.sendRequest(requestObject, (err, res) => { console.log(res); }); }
如果你愿意,你可以在 loop 中修改requestObject。查看Postman文档了解更多详细信息。
requestObject
tmb3ates3#
到目前为止,还没有使用Postman的直接解决方案,可以在文件夹/集合中为同一请求配置多个命中。不过,你可以在Pre-request script部分编写一些代码,通过添加一个计数器,其中包含你想要的命中次数,并使用你当前的请求调用postman.setNextRequest("request_name")方法(* 从here阅读更多信息 )。在Postman应用程序范围之外,您可以导出您的集合(作为JSON文件)并使用newman编写一些JavaScript代码,这是Postman的命令行伴侣实用程序( 更多关于纽曼的信息来自here *),它可以获得一个run方法,其中包含大量迭代计数和数据选项,这将有助于您(例如,将第二个请求放入文件夹并迭代)。希望能有所帮助!
postman.setNextRequest("request_name")
newman
run
gg58donl4#
Postman团队为此创建了一个tutorial。它包括在Pre-request Script部分中添加以下内容:
pm.variables.set("retryCount",3)
然后在“测试”部分添加以下内容:
pm.variables.get("retryCounter") === undefined ? pm.variables.set('retryCounter', pm.variables.get("retryCount")) : null retryCount = pm.variables.get("retryCounter"); if (retryCount > 1) { pm.variables.set('retryCounter', --retryCount) postman.setNextRequest(pm.info.requestName); }
最后,只需在集合运行器中运行集合。
4条答案
按热度按时间hyrbngr71#
mcdcgff02#
不使用
postman.setNextRequest()
,一种更简单的访问同一端点的方法是使用pm.sendRequest()
。在 Test 或 Pre-request Script 中,您可以创建一个 request object,它将描述您想要发送的请求 (URL,HTTP方法,header body等) 并将其放入
pm.sendRequest()
* 函数 * 中。考虑:
要多次运行相同的请求,只需将函数放入
for
/for..in
/for..of
/forEach
* 循环 * 中。考虑:
如果你愿意,你可以在 loop 中修改
requestObject
。查看Postman文档了解更多详细信息。
tmb3ates3#
到目前为止,还没有使用Postman的直接解决方案,可以在文件夹/集合中为同一请求配置多个命中。
不过,你可以在Pre-request script部分编写一些代码,通过添加一个计数器,其中包含你想要的命中次数,并使用你当前的请求调用
postman.setNextRequest("request_name")
方法(* 从here阅读更多信息 )。在Postman应用程序范围之外,您可以导出您的集合(作为JSON文件)并使用
newman
编写一些JavaScript代码,这是Postman的命令行伴侣实用程序( 更多关于纽曼的信息来自here *),它可以获得一个run
方法,其中包含大量迭代计数和数据选项,这将有助于您(例如,将第二个请求放入文件夹并迭代)。希望能有所帮助!
gg58donl4#
Postman团队为此创建了一个tutorial。
它包括在Pre-request Script部分中添加以下内容:
然后在“测试”部分添加以下内容:
最后,只需在集合运行器中运行集合。