如何在使用POSTMAN发送另一个请求之前触发一个请求



我有两个请求(我们称它们为R1和R2)。我可以从POSTMAN单独触发它们。但我的要求是,当R2被触发时,应该自动先触发R1,然后触发R2。

请帮我实现这个。

p。S:我在谷歌上搜索了这个问题,没有提到如何从预请求脚本触发另一个请求。他们只是说你可以在预请求脚本中运行一些代码。

在R1使用的测试脚本

pm.environment.set("R1",pm.request)

R2

预请求
pm.sendRequest(pm.environment.get("R1"))

现在当你发送R2时,R1将被发送

您可以使用pm.sendRequest从预请求或测试脚本发送请求。

Pre-request脚本

pm.sendRequest({
url: 'https://jsonplaceholder.typicode.com/todos/1',
method: 'GET'    
}, function (err, res) {
console.log(res);
});

它将首先发送jsonplaceholder.typicode.com请求,然后才是实际请求。你可以用你的请求代替。

如果您决定运行collection而不手动触发R2,那么您可以从collection执行请求的方式中获得帮助:

  • Collection按照请求在Postman中出现的顺序运行请求。因此,您可以通过在集合
  • 中适当地安排它们来控制顺序。
  • 如果collection具有文件夹,则collection首先在文件夹中执行请求,然后在集合级别执行请求。同样,你可以按照你想要执行的请求在文件夹中安排请求。

参考:控制请求流

最后这是我得到的解决方案。

pm.environment.set('access_token', 'eyJraWQiOi6XVYuL...');
pm.sendRequest({
url: 'https://www.google.com/hello',
method: 'POST',
header: {
'Content-Type': "application/json",
'accept': "application/json",
'Authorization': 'Bearer ' + pm.environment.get("access_token")
},    
body: {
mode: 'raw',
raw: JSON.stringify({ 
key1: "value2",
key2: "value1"
})
}
}, function (err, res) {
console.log(res);
const POSTResponse = res.json();
});

最新更新