【问题标题】:How to assign different behaviors to different users in locust如何在 locust 中为不同的用户分配不同的行为
【发布时间】:2020-07-29 21:15:02
【问题描述】:

我想模拟两个用户同时运行不同的任务。如何使用 Locust 性能测试框架做到这一点?

【问题讨论】:

    标签: locust


    【解决方案1】:

    只需定义多个用户类:

    class User1(HttpUser):
        @task
        def task1(self):
        ...
    
    class User2(HttpUser):
        @task
        def task2(self):
        ...
    

    如果您希望用户类型之间的分布为 50-50,您还需要以偶数用户启动 Locust。

    【讨论】:

      【解决方案2】:

      您的 Locust 任务根据其重量是随机的。所以每个用户都会以不同的顺序执行任务。

      如果您希望用户执行不同的任务,您可以根据用户角色或其他逻辑来决定调用哪些函数。

      class Main(TaskSet):
          def setup(self):
              # Login
              # Get user role and decide which function to call
              if user.role == 'admin':
                  self.admin_actions()
              else:
                  self.other_user_actions()
      
              def admin_actions():
                  # Do some admin stuff
      
              def other_user_actions():
                  # Do some other stuff
          @task
          def random_task(self):
              # Some random task that everyone does
      
      class MyLocust(HttpLocust):
          task_set = Main
          wait_time = between(5, 10)
      

      【讨论】:

        猜你喜欢
        • 2020-10-19
        • 2016-11-06
        • 2011-08-20
        • 1970-01-01
        • 2019-12-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-19
        相关资源
        最近更新 更多