使用 Locust 进行压力测试软件(但我需要 运行 一步一步)

Stress testing software (but I need run it step by step) with locust

作为标题中的问题
我一步一步的意思是:
-报名
-获取课程
-选择课程
这三个必须按顺序进行,一步一步

供参考 我已经在 on_start 上成功了,但状态结果永远不正确 例如:
我设置用户数 100
我设置了“/signup”的终点,然后
我在该端点的 table 状态上看到 55,但实际上我们有 100 个用户在数据库中注册



我应该怎么做才能使其正常工作?

由于 Locust 任务通常是随机执行的,您可能希望在同一个任务中执行所有这些步骤,以确保它们都按顺序依次执行。您可以在两者之间插入对 TaskSet 的 wait() 方法的调用(或仅手动调用 time.sleep())以模拟用户在操作之间等待。

类似这样的方法可能有效:

class MyTaskSet(TaskSet):
    def on_start(self):
        self.client.post("/signup")
        self.wait()
        self.client.get("/get-course")
        self.wait()
        self.client.post("/select-course")
        self.wait()

关于您在统计数据中看到 55 个请求的问题,尽管看起来实际发出了 100 个请求(至少我是这样解释您的文本的),这听起来可能是因为 Locust 重置了一次统计数据所有用户都在 ramp-up 阶段生成。

感谢回复
anw 我自己解决了,问题是在 hacth 完成之后
Locust 始终会自动重置统计数据,即使在 运行 测试过程中也会将统计数据搞乱。
(抱歉我的英语不好)

在我对 locust 文件夹中的代码进行注释之后 一切顺利