#-*-coding:utf-8-*-
from locust import task,HttpLocust,TaskSet
class UserbehaveSecond(TaskSet):
def on_start(self):
print ("start test")
@task(2)
def baidu(self):
print ("I use baidu")
@task(3)
def souhu(self):
print ("I use souhu")
@task(2)
def souhu(self):
print ("lgout")
self.interrupt()
class UserbehaveFirst(TaskSet):
tasks={UserbehaveSecond:2}
@task(1)
def google(self):
print ("I use google")
class Website(HttpLocust):
task_set=UserbehaveFirst
min_wait=1000
max_wait=2000
host="http://www.baidu.com"
这里我们用输出的方式代替请求接口的方式,去查看locust去调用行为类的方法的频率。用户类去定义第一层行为类为UserbehaveFirst,然后这个行为类去定义了一个tasks字典,表明我们调用UserbehaveSecond频率是第一个类的两倍。然后进入到第二层中,根据权重去分别去访问该类的各个方法。souhu这个方法用了一个父类的方法interrupt跳出这一层行为类。下面是我们这次测试的一部分结果: