我使用 Locust ( http://locust.io ) 编写了一个简单的负载测试。
现在我注意到有时(使用更高的负载)我从 post call 得到的响应有一个 status_code 为 0 和一个None
内容。0 状态码在 Locust 中不会自动识别为失败,所以我必须手动测试它。
我的代码片段是这样的:
with self.client.get(path, catch_response=True) as response:
if response.status_code != 200:
response.failure(path + ": returned " + str(response.status_code))
elif check not in response.content:
response.failure(path + ": wrong response, missing '" + check + "'")
注意:check
是预期响应内容的一部分的变量。
问题是:这是预期的行为吗?这是 Locust(或 Python)的问题,还是测试应用程序中的错误?