无法在调试模式下运行 locust

des*_*smo 3 python locust

最近我从旧的 locust 版本(0.14.2)切换到 1.3.1。以前,我可以使用命令 WebsiteUser().run() 在调试模式下运行,它会在所有断点处停止。

当我尝试使用相同的命令运行新版本时,出现下一个错误:

文件“/home/user/PycharmProjects/my_test/venv/lib/python3.7/site-packages/locust/user/users.py”,第 210 行,在init super() 中。init (*args, **kwargs) TypeError: init () 缺少 1 个必需的位置参数:'environment'

我确信可以像以前一样调试新版本,但是我做错了什么?

环境

  • 操作系统:Ubuntu 18.04
  • Python版本:3.7.4
  • 蝗虫版本:1.3.1
  • 您运行的 Locust 命令行:WebsiteUser().run()
  • 蝗虫文件内容:

locustfile.py:

class UserBehaviour(MyTask):

    @task
    def task_one(self):
        self.action_one()


class WebsiteUser(HttpUser):
    conf = Config()
    host = conf.host
    tasks = [UserBehaviour]
    wait_time = between(0.5, 1.5)

if __name__ == "__main__":
    WebsiteUser().run()
Run Code Online (Sandbox Code Playgroud)

my_task.py:

class MyTask(BaseTaskSet):

    def action_one(self):
        self.client.get('dummy_path')
Run Code Online (Sandbox Code Playgroud)

小智 6

Locust 1.0+ 对使用 Locust 作为库提供了更强大的支持。它在使用 Locust 时提供了更多的灵活性和定制化,但有许多重大更改来实现这一点(1.0 指定的一个原因)。您遇到的是 Locust 现在需要所有相关类的环境Users。你可能想要做的是:

if __name__ == "__main__":
    from locust.env import Environment
    my_env = Environment(user_classes=[WebsiteUser])
    WebsiteUser(my_env).run()
Run Code Online (Sandbox Code Playgroud)