【问题标题】:Can't run locust in debug mode无法在调试模式下运行 locust
【发布时间】:2020-10-23 16:35:04
【问题描述】:

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

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

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

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

环境

  • 操作系统: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()

my_task.py:

class MyTask(BaseTaskSet):

    def action_one(self):
        self.client.get('dummy_path')

【问题讨论】:

    标签: python locust


    【解决方案1】:

    Locust 1.0+ 对using Locust as a library 提供了更强大的支持。它在使用 Locust 时提供了更大的灵活性和自定义性,但是为了实现这一点,进行了许多重大更改(指定 1.0 的原因之一)。你要打的是 Locust 现在需要一个 Environment 用于所有 Users 和相关的类。您可能想要做的是:

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

    【讨论】:

    • 非常感谢。这解决了一切!
    【解决方案2】:

    你在打电话

    class WebsiteUser(HttpUser)
    

    没有HttpUser 参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多