3-使用@task设置测试用例执行的权重

发布时间 2023-07-28 12:38:37作者: 威力Kami

多个测试链路压测使测试任务按预想的比例执行

locust的@task装饰器提供了入参weight,locust执行测试任务时,会根据weight的比例进行分配用户数

from locust import task, HttpUser


class MyTestUser(HttpUser):
    # test_01 : test_02 = 3 : 1

    @task(3)
    def weight_test_task_01(self):
        # name参数可自定义该请求在测试报告中的名称
        self.client.get(url='/', name='test_01')

    @task(1)
    def weight_test_task_02(self):
        self.client.get(url='/', name='test_02')

运行看看测试结果

小结

  1. task测试任务是随机执行的(除非使用SequantialTaskSet来编写任务集,后面再介绍),可以通过设置其权重值,将并发用户数量按比例分配到对应的任务中执行测试
  2. 代码中self.client.get的name参数可以自定义测试报告中请求名称