我有一个requests基于python的 API 测试套件,可以自动重试每个带有 408 或 5xx 响应的请求。我正在考虑在 k6 中重新实现其中一些用于负载测试。是否k6支持重试 http 请求?
k6 中没有这样的功能,但是您可以通过包装k6/http函数来相当简单地添加它,例如:
function httpGet(url, params) {
var res;
for (var retries = 3; retries > 0; retries--) {
res = http.get(url, params)
if (res.status != 408 && res.status < 500) {
return res;
}
}
return res;
}
Run Code Online (Sandbox Code Playgroud)
然后只需使用httpGet 而不是http.get;)