Locust性能-零基础入门系列(6)

Locust tag修饰符的应用对测试的执行和管理来说都相对灵活。其实一些测试方法(任务)加上一个tag或者多个tags也不影响其作为全局任务集进行执行。这一点很像大多数的ps://www.fons.com.cn/tag/%e8%87%aa%e5%8a%a8%e5%8c%96%e6%b5%8b%e8%af%95" target="_blank">自动化测试框架,比如py~ i T | w T $ Rthon的pytest测试框架也是支持tag$ Q + ^管理测试集合的。如果大家对python pytest自动化测试感兴趣,麻烦评论支持。扯远了,回到正题。以一个简单的例子"locust_file1.py"来说明Locust tag的用法。

from locust import User,constant,task,tag
#tD A 1 u 7his is to test "Tagging tasks"
class MyUser(User):
wait_time = coo  R L | Enstant(1)
@tag('tag9 g 6 + M1')
@task
def task0 s n_1(sY z C S 8 6 H T Belf):
print("th# } j z R pis is task 1")
@tag('tag1','tag2')
@task
def task_2(self):
print("th$ # ` {is is task 2")
@tag('tag3')
@task
dr e _ef task_3(self):
print("this is task 3")
@taski C b g # P t
def task7 Q n _ X K_4(self):
print("this is task 4")

可以看到以上的Locust脚本例子中有4个task函数,而这4个函数都设置了tag,具体如上。其中拥有ta? U vg_1的有task_1和task_2两个函数;拥有tag_2的有task_2 一个函数;拥有tag_3的有task_3 一个函数;而函数task_4是没有, o { / C a a R stag的。

怎么使用呢?tag在使用的时候有两种型。

-T 关键字X 0 I ? )

-E 关键字

如果q ! z Z # O要测试包含tag_1的测试集合,可以执行如下命令4 4 m ] q

locust -f locust_file1.py -T tag1

根据如上的脚本,那么只会执行task_1和task_2两个任务。

n l P J 1果要测试不包含tag_1的测试集合呢@ ? & T?可以执行如下命令:

locust -f locust_file1.py -Ee ; R ~ e v C | tag1

那么根据如上脚本设定,会执行task_3和task_4两个任务,即使task_4没有设置tag.

如果大家对此系列课程有什么建议,请评论或者私信告诉我,谢谢。

另,本人在51CTO 学院有locust的基础课程 https://edu.51cto.com/sd/ddd95 ,如有需要请查看。