本章概要:
(1)这个用的非常少:单独的任务
(2)常见:业务多个接口没有依赖关系_任务TaskSet:执行起来是并行的
(3)常见:业务多个接口有依赖关系_任务SequentialTaskSet是taskset的子类:只有这个子类执行是有序的 >>> 打开1次百度,执行10次登陆
(4)常见:业务比较简单_封装在httpuser用户里面的任务
(5)任务集合
from locust import HttpUser, constant, task
def task1(user):
user.client.request(method="get", url="https://baidu.com", name="打开百度首页")
def task2(user):
user.client.request(method="get", url="https://blog.csdn.net/weixin_45451320", name="打开腾哥首页")
from locust import TaskSet
class FlashTask(TaskSet):
@task
def addtask1(self):
self.client.request(method="get", url="https://baidu.com", name="打开百度首页")
@task
def addtask2(self):
self.client.request(method="get", url="https://blog.csdn.net/weixin_45451320", name="打开腾哥首页")
from locust import SequentialTaskSet
class FlashSeqTask(SequentialTaskSet):
@task
def index(self):
self.client.request(method="get", url="https://baidu.com", name="打开百度首页")
@task(10)
def login(self):
self.client.request(method="get", url="https://blog.csdn.net/", name="打开CSDN首页")
class FlashUser(HttpUser):
host = "http://localhost:8089/"
wait_time = constant(3)
@task
def task3(self):
self.client.request(method="get", url="https://baidu.com", name="打开百度首页")
@task
def task4(self):
self.client.request(method="get", url="https://blog.csdn.net/weixin_45451320", name="打开腾哥首页")
task_1 = {
task3: 3, task4: 1}
task_2 = [task1, task2]
task_3 = [FlashTask]