本文主要是介绍locust之权重标签,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
locust默认是随机执行taskset里面的task的。
权重是通过在@task参数中设置的,如代码中my_task1:my_task2:my_task3是1:3:2,实际执行时的代码,在user中tasks会将任务生成列表[my_task1,my_task2,my_task2,my_task2,my_task3,my_task3]
执行时就随机从列表中选取task。
task不止一个时,可以通过@tag给task打标签进行分类,在执行测试时,通过--tags name执行指定带标签的task。
# locust -f .\example_taskset_weight.py --tags tag1
只会执行
my_task1和my_task2
#!/usr/bin/env python
# -*- coding:utf-8 -*-# import os
from locust import TaskSet, HttpUser, task, tag, constantclass MyTaskSet(TaskSet):""" 定义用户行为 """wait_time = constant(1)def on_start(self):print("Executing on_start ...")def on_stop(self):print("Executing on_stop ...")@tag("tag1")@task(1)def my_task1(self):print("Executing my_task1 ...")@tag("tag1", "tag2")@task(3)def my_task2(self):print("Executing my_task2 ...")@tag("tag2")@task(2)def my_task3(self):print("Executing my_task3 ...")class MyUserGroup(HttpUser):""" 定义线程组 """tasks = [MyTaskSet]host = "http://192.168.2.129"# locust -f .\example_taskset_weight.py --tags tag1
这篇关于locust之权重标签的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!