gpt4 book ai didi

Postman/Newman 失败时重试

转载 作者:行者123 更新时间:2023-12-02 06:28:45 27 4
gpt4 key购买 nike

在 Newman 中,我想进行测试以确保响应代码正确、响应时间合理且响应值正确。

在某些情况下,由于网络故障或其他系统条件,某些请求可能会出现超时或错误值,如果几秒钟后处理相同的请求,这些问题就会得到解决。

在这种情况下,我想重试确切的请求 x 次,并在请求之间设置 Y 超时。

如果重试后迭代通过,我希望 Newman 退出代码为 0(成功运行)。

最佳答案

几个小时后,我得到了这样的函数:

    function retryOnFailure(successCode, numberOfRetrys) {
var key = request.name + '_counter';
var execCounter = postman.getEnvironmentVariable(key) || 1;

var sleepDuration = 1000;
var waitUntilTime = new Date().getTime() + sleepDuration;
if (responseCode.code !== successCode && execCounter <= numberOfRetrys) {
while (new Date().getTime() < waitUntilTime) {
// Do Nothing -> Wait
}
console.log('Retrying: ' + request.name + '\nGot: ' + responseCode.code + ' Expected: ' + successCode + '\nWaited: ' + sleepDuration / 1000 + 'sec \nRetry Number: ' + execCounter + ' of ' + numberOfRetrys);
execCounter++;
postman.setEnvironmentVariable(key, execCounter);
postman.setNextRequest(request.name);
}
}

用法:

    retryOnFailure(404, 4);

关于Postman/Newman 失败时重试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43495848/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com