无法在调试模式下运行蝗虫

时间:2020-10-23 16:35:04

标签: python 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行,位于初始中 super()。初始化(* args,** kwargs) TypeError: init ()缺少1个必需的位置参数:“环境”

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

环境

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

locustfile.py:

var newList = reports.Where(x => !names.Contains(x.UserName)));

my_task.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()

2 个答案:

答案 0 :(得分:1)

蝗虫1.0+对using Locust as a library具有更强大的支持。在使用Locust时,它具有更大的灵活性和自定义性,但是要实现此目标,需要进行许多重大更改(指定1.0的原因之一)。您要打的是蝗虫,现在需要为所有Users和关联的类使用Environment。您可能想要做的是:

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

答案 1 :(得分:0)

您正在打电话

class WebsiteUser(HttpUser)

不带HttpUser参数。