Locust 脚本-任务

Locust  的 task 可以理解为业务,至于业务逻辑可以自己写。

请求类型

response = self.client.get("/about")     #get
response = self.client.post("/login", {"username":"testuser", "password":"secret"})    #post

 

配置任务

第一种task配置方式

from locust import HttpLocust, TaskSet


#定义任务
def login(self):
    self.client.post("/login", {"username":"ellen_key", "password":"education"})

def index(self):
    self.client.get("/")

def profile(self):
    self.client.get("/profile")

#定义用户行为
class UserBehavior(TaskSet):
    #每个虚拟用户进行访问index两次、profile一次
    tasks = {index: 2, profile: 1}
    
    #关键字,on_start,如果有在执行run函数的时执行,理解为前置条件
    def on_start(self):
        login(self)

#配置
class WebsiteUser(HttpLocust):
    task_set = UserBehavior    #任务
    #设置随机范围,类似于lr里的思考时间,在范围内随机
    min_wait = 5000     
    max_wait = 9000

第二种task配置方式,使用装饰器

from locust import TaskSet, task, HttpLocust

class UserBehavior(TaskSet):
    #task装饰器的作用等于task{}
    @task
    def index(self):
        b = self.client.get("/", name='首页')    #参数name传了的话,在web统计时显示

    #task可以带参数:task(2),等于tasks = {index: 2}
    @task
    def profile(self):
        a = self.client.get("/c66")

    def on_start(self):
        print "executing my_task"

class WebsiteUser(HttpLocust):
    task_set = UserBehavior
    min_wait = 100
    max_wait = 500

 

权重设置

第一种使用:tasks = {index:2,profile:1} 

第二种使用:@task(1)

 

运行时间设置

class WebsiteUser(HttpLocust):
    task_set = UserBehavior
    min_wait = 100
    max_wait = 1000
    stop_timeout = 20    #运行时间设置,这里要用秒,而不是毫秒

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值