文章目录
- 一、执行混合任务的比重
- 二、特殊方法
一、执行混合任务的比重
1、举例:混合业务场景。500用户并发访问
- 首页:150
- 搜索商品:200
- 注册:20
- 登录:80
- 下单:50
2、语法:
在@task后添加( )写入需要设定的比重值即可。
fromlocustimportTaskSet,HttpLocust,task""" locust比重:500用户并发送 - 首页:150 - 搜索商品:200 - 注册:20 - 登录:80 - 下单:50 """# 1.定义 任务集 和 任务classTaskClass(TaskSet):# 要继承TaskSet类, TaskClass表示一个任务集""""定义任务"""# 访问首页@task(150)defindex(self):result=self.client.get("/?=index")# 此行代码相当于requests.Session().get()print("响应结果:",result.text)# 打印结果# 搜索@task(200)defsearch(self):result=self.client.get("/?=search")# 此行代码相当于requests.Session().get()print("响应结果:",result.text)# 打印结果# 注册@task(20)defregister(self):result=self.client.get("/?=register")# 此行代码相当于requests.Session().get()print("响应结果:",result.text)# 打印结果# 登录@task(80)deflogin(self):result=self.client.get("/?=login")# 此行代码相当于requests.Session().get()print("响应结果:",result.text)# 打印结果# 下单@task(50)deforder(self):result=self.client.get("/?=order")# 此行代码相当于requests.Session().get()print("响应结果:",result.text)# 打印结果# 2.#定义用户类classUser(HttpLocust):# 绑定任务task_set=TaskClass# task_set 属性名不能变; 注意:TaskClass 后,没有 ()# 设置 用户间 最小延迟时间 - 单位 msmin_wait=1000# 设置 用户间 最大延迟时间max_wait=3000# 指定 主机地址host="https://www.baidu.com"二、特殊方法
- on_start: 前置方法(前置任务),在每个任务执行之前,被自动调用一次。似于setup
- on_stop: 后置方法(后置任务), 在每个任务执行结束之后,自动被调用一次。类似于teardown
fromlocustimportTaskSet,HttpLocust,task# 1.定义 任务集 和 任务classTaskClass(TaskSet):# TaskClass 表示任务集# 不需要添加装饰器 @taskdefon_start(self):print("------任务开始了!")# 不需要添加装饰器 @taskdefon_stop(self):print("======任务结束了!")""""定义任务"""# 访问首页-任务(会被自动调用)@taskdefindex(self):result=self.client.get("/")# 此行代码相当于requests.Session().get()# print("响应结果:", result.text) # 打印结果## 2.定义 用户类classUser(HttpLocust):# 绑定任务task_set=TaskClass# task_set 属性名不能变; 注意:TaskClass 后,没有 ()# 设置 用户间 最小延迟时间 - 单位 msmin_wait=1000# 设置 用户间 最大延迟时间max_wait=3000# 指定 主机地址host="https://www.baidu.com"