如何在蝗虫中为不同的用户分配不同的行为
How to assign different behaviors to different users in locust
我想模拟两个用户同时运行不同的任务。如何使用 Locust 性能测试框架做到这一点?
你的 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)
只需定义多个用户类:
class User1(HttpUser):
@task
def task1(self):
...
class User2(HttpUser):
@task
def task2(self):
...
如果您希望用户类型之间的分布在 50-50 之间,您还需要以偶数的用户启动 Locust。
我想模拟两个用户同时运行不同的任务。如何使用 Locust 性能测试框架做到这一点?
你的 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)
只需定义多个用户类:
class User1(HttpUser):
@task
def task1(self):
...
class User2(HttpUser):
@task
def task2(self):
...
如果您希望用户类型之间的分布在 50-50 之间,您还需要以偶数的用户启动 Locust。