嵌套式的locust

#-*-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跳出这一层行为类。下面是我们这次测试的一部分结果:

 

posted @ 2018-02-03 16:22  若爱以星光为牢  阅读(259)  评论(0编辑  收藏  举报