代码之家  ›  专栏  ›  技术社区  ›  Andre Christianto

压力测试软件(但我需要一步一步地运行它)与蝗虫

  •  0
  • Andre Christianto  · 技术社区  · 9 年前

    作为标题中的问题
    我所说的一步一步是这样的:
    -报名
    -获得课程
    -选择课程
    所有这三个必须一步一步地按顺序进行

    供参考 我已经将其设置为on_start,但状态结果始终不正确 例如:
    我将用户数设置为100
    我设置了“/注册”的终点,然后
    我在那个端点的表状态中看到55个,但实际上我们有100个用户在数据库中注册



    我该怎么做才能让它正常工作?

    2 回复  |  直到 9 年前
        1
  •  2
  •   heyman    9 年前

    由于蝗虫任务通常是随机执行的,您可能希望在同一个任务中执行所有这些步骤,以确保它们都按顺序依次执行。您可以将调用插入到任务集的 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个请求(至少我是这样理解你的文本的),这听起来可能是因为在爬坡阶段,所有用户都生成后,蝗虫会重置统计数据。

        2
  •  0
  •   Andre Christianto    9 年前

    谢谢你的回复
    我刚刚自己解决了,问题是在完成之后
    蝗虫总是会自动重置统计数据,即使在运行的测试过程中,这会扰乱统计数据。
    (对不起,我的英语不好)

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