为了进行测试,我们广泛使用了邮递员来使用我们的API。现在,我们调用一条授权路线,该路线将必要的内容存储在环境变量中,然后命中我们真正感兴趣的请求。如果请求得到401,我想利用测试标签自动调用我们的授权路线,然后自动重试该请求。
看起来我可以调用pm.setNextRequest(“ Name”),但这仅在Collection Runner的上下文中起作用才能设置下一个请求。我希望在仅运行单个请求时自动发生这种情况。有什么办法可以做到这一点?
我正在寻找与收集运行程序无关的答案,因为这与我的用例相去甚远。谢谢。
答案 0 :(得分:0)
@claudekennilol,
您可以在“预请求脚本”中使用以下代码段。请注意,我给了您一个想法,了解如何使用请求前脚本来调用端点,可以根据需要更改循环。
const echoPostRequest = {
url: 'https://jsonplaceholder.typicode.com/posts',
method: 'POST',
header: 'Content-Type:application/json',
body: {
mode: 'application/json',
raw: JSON.stringify(
{
"userId": 1,
"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
"body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
})
}
};
var checker = true;
var iterator = 0;
do {
pm.sendRequest(echoPostRequest, function (err, res) {
if(res.code === 200){
if (err === null) {
var responseJson = res.json();
// Do something here if condition passes
}
}else{
// Do something if condition fails
}
});
iterator++;
}
while (iterator<10);