Locust的API介绍-----Locust类和HttpLocust类

Locust类
类 Locust
每生成一个实例都代表一个虚拟的用户,用来发送请求到进行负载测试的系统。


该用户的行为由task_set属性定义,该属性应指向一个 TaskSet类。


这个类通常应该由某些类继承并且重新定义。例如,当测试HTTP系统时,使用的HttpLocust类。


max_wait = 1000
执行locust任务之间的最长等待时间,单位是毫秒


min_wait = 1000
执行locust任务之间的最短等待时间,单位是毫秒


task_set =TaskSet

指向TaskSet类,定义了locust的执行行为


weight = 10

一个测试用例中添加多个locust实例,每个locust实例执行占的比重,数字越大,调用的频率越高。


from locust import Locust, TaskSet, task

class MyTaskSet(TaskSet):
    @task
    def my_task(self):
        print "executing my_task"

class MyLocust(Locust):
    task_set = MyTaskSet
    min_wait = 5000
    max_wait = 15000
    weight = 1

class MyLocustOne(Locust):
    task_set = MyTaskSet
    min_wait = 5000
    max_wait = 15000
    weight = 2


HttpLocust类
类 HttpLocust
继承了Locust类,表示将要生成的每一个虚拟的HTTP用户,用来发送请求到进行负载测试的系统。


该用户的行为由task_set属性定义,该属性应指向一个 TaskSet类。


此类在实例化时比Locust会多了一个client属性,该属性是支持在请求之间保留用户session。


client =无
在Locust实例化时创建的HttpSession实例。client支持cookie,可以保持HTTP请求之间的session。


from locust import HttpLocust, TaskSet, task

class MyTaskSet(TaskSet):
    @task(2)
    def index(self):
        self.client.get("/")

    @task(1)
    def about(self):
        self.client.get("/about/")

class MyLocust(HttpLocust):
    task_set = MyTaskSet
    min_wait = 5000
    max_wait = 15000


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值