【发布时间】:2021-03-23 18:35:59
【问题描述】:
我正在使用邮递员来测试我的 API。
其中一个 API 需要一些时间来处理数据我添加了一个重试逻辑来尝试 3 次以检查端点是否正常工作。
retryCount的初始值是3,是在本次重试之前的少数测试中设置的。
下面是代码:
let retryCount = pm.environment.get('retryCount');
let responseData = pm.response.json();
console.log(responseData.data.events.length);
console.log(retryCount);
if(responseData.data.events.length == 0 && retryCount > 0)
{
retryCount = retryCount - 1;
console.log(retryCount);
pm.environment.set('retryCount',retryCount);
postman.setNextRequest("GetEvents");
}
else
{
pm.environment.set('data-response',responseData.data);
}
重试 3 次后它应该停止。但是,它进入了无限循环。之所以出现问题,是因为当下次调用发生时变量始终为 3,它应该减少 1 并最终变为 0。
上面的代码进入无限状态可能是什么原因。
【问题讨论】:
-
它是否进入了 if 条件?
-
"GetEvents" 是你有脚本的同一个请求?
-
yes GetEvents 与脚本所在的请求相同。
-
进入 if 条件
-
console.log(重试打印什么?打印是否正确?3、2、1等?你是在某个地方重置值吗?在同一个请求中还是在收集脚本中?跨度>
标签: javascript postman