【发布时间】:2021-01-29 01:32:20
【问题描述】:
我有两个请求(我们称它们为 R1 和 R2)。我可以从 POSTMAN 单独触发它们。但我的要求是,当R2被触发时,应该先自动触发R1,然后再触发R2。
请帮助我实现这一目标。
P.S:我在谷歌上搜索过这个问题,但没有提到如何从预请求脚本触发另一个请求。他们只是说你可以在预请求脚本中运行一些代码。
【问题讨论】:
我有两个请求(我们称它们为 R1 和 R2)。我可以从 POSTMAN 单独触发它们。但我的要求是,当R2被触发时,应该先自动触发R1,然后再触发R2。
请帮助我实现这一目标。
P.S:我在谷歌上搜索过这个问题,但没有提到如何从预请求脚本触发另一个请求。他们只是说你可以在预请求脚本中运行一些代码。
【问题讨论】:
您可以使用pm.sendRequest 从预请求或测试脚本发送请求。
预请求脚本
pm.sendRequest({
url: 'https://jsonplaceholder.typicode.com/todos/1',
method: 'GET'
}, function (err, res) {
console.log(res);
});
它会先发送 jsonplaceholder.typicode.com 请求,然后再发送实际请求。您可以改用您的请求。
【讨论】:
https://jsonplaceholder.typicode.com/todos/1,方法类型和数据(如果是 POST 请求)
pm.environment.set("R1",pm.request)
pm.sendRequest(pm.environment.get("R1"))
【讨论】:
如果您决定运行收集而不是手动触发 R2,那么您可以从收集如何执行请求中获得帮助:
【讨论】:
这就是我得到的解决方案。
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();
});
【讨论】: