【4】-多个User执行测试

目录

一个locustfile中有多个User

使用--class-picker指定执行

小结


一个locustfile中有多个User

from locust import task, HttpUser


class User01(HttpUser):
    weight = 3  # 权重
    host = 'https://www.baidu.com'

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


class User02(HttpUser):
    weight = 1  # 权重
    host = 'https://www.qq.com'

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

  • 两个User定义了host,运行时就可以不填host
  • 定义了weight,和上一节task设置到权重一样,运行时user分配比重按照3:1执行

【4】-多个User执行测试_第1张图片

  • 执行结果

【4】-多个User执行测试_第2张图片

使用--class-picker指定执行

  • 运行locust的命令使用--class-picker参数,启动web-ui时可以手动选择执行的UserClasses
$ locust -f locustfiles/multiple_user.py --class-picker 

【4】-多个User执行测试_第3张图片

  • 如果是no-ui模式下,也可以在命令中直接指定执行的UserClasses,例如
$ locust -f locustfiles/multiple_user.py --class-picker User02 User01 --headless -u 20 -r 20 -t 5s
[2023-07-28 12:17:00,956] HUAWEI-MateBook-X-Pro.local/INFO/locust.runners: Ramping to 20 users at a rate of 20.00 per second
[2023-07-28 12:17:00,957] HUAWEI-MateBook-X-Pro.local/INFO/locust.runners: All users spawned: {"User01": 15, "User02": 5} (20 total users)
  • 命令参数解释一下
    1. --headless no-ui模式执行,并且立即开始测试
    2. -u 指定运行最大并发用户数
    3. -r 每秒启动用户数
    4. -t 执行测试的时长

小结

  1. 一个locustfile中可以定义多个测试User类,默认执行比例都是1:1,可使用weight属性修改它们的执行比重
  2. 当一个locustfile中有多个User类,可以使用--class-picker命令参数来选择到底执行哪些User类来执行测试
  3. 这里提到了no-ui执行,因为一般到实际工作我们压测是在云服务器执行,locust一样提供了--headless命令来通过no-ui执行
  4. User类中给host赋值后,我们不需要在运行时再给locust设置host
  5. locust的更多使用命令参数,建议可以仔细阅读一遍,通过locust -h来查看

 以下是我收集到的比较好的学习教程资源,虽然不是什么很值钱的东西,如果你刚好需要,可以评论区,留言【777】直接拿走就好了

各位想获取资料的朋友请点赞 + 评论 + 收藏,三连!

三连之后我会在评论区挨个私信发给你们~

你可能感兴趣的:(软件测试,性能测试,python,开发语言,软件测试,程序人生,软件测试工程师,locust,性能测试)