Locust2.8.5中前置、后置处理器使用详解

前言

        本文介绍Locust框架中两种前置、后置操作。一种是用户级别的前后置,在任务类或者用户类中定义on_start,on_stop方法实现前、后置操作,且每个用户只执行一次。且用户类中的前置操作先与任务类中前置操作执行,后置操作在任务类的后置操作之后执行。第二种是模块级别的前后置操作,使用event类中的@events.test_start.add_listener和@events.test_stop.add_listener装饰器且仅在整个负载前运行前置,负载结束后运行后置。

一、用户级别前后置代码演示

from locust import HttpUser, task, TaskSet
import os

class Test1(TaskSet):
    def on_start(self):
        print("测试开始")

    def on_stop(self):
        print("测试停止")

    @task
    def my_task(self):
        with self.client.get('/v2/zoho/getZohoNetwork', catch_response=True) as re:
            # print(re.text)
            if '研发' in re.text:
                re.success()
            else:
                re.failure('fail')

class Test(HttpUser):
    tasks = [Test1]
    def on_start(self):
        print("TEST_START")
    def on_stop(self):
        print("TEST_STOP")
    # min_wait = 100
    # max_wait = 1000

# if __name__ == '__main__':
#     os.system("locust -f test_01.py --host=http://10.2.2.84:8087")

执行结果查看:

二、 模块级别前后置代码演示

from locust import HttpUser, task, TaskSet

from locust import events
#下面2个函数分别代表前置和后置操作,函数名任意,函数中的参数为固定写法。函数内定义自己的操作,如数据库链接和释放。

@events.test_start.add_listener
def on_test_start(environment, **kwargs):
    print("A new test is starting")

@events.test_stop.add_listener
def on_test_stop(environment, **kwargs):
    print("A new test is ending")


class Test1(TaskSet):

    @task
    def test01(self):
        print("测试01")


class Test(HttpUser):
    tasks = [Test1]
    # min_wait = 100
    # max_wait = 1000

# if __name__ == '__main__':
#     os.system("locust -f test_01.py --host=http://10.2.2.84:8087")

执行结果查看:

A new test is starting
[2022-04-02 18:07:07,666] chengkedeMacBook-Pro.local/INFO/locust.runners: Ramping to 2 users at a rate of 2.00 per second
[2022-04-02 18:07:07,667] chengkedeMacBook-Pro.local/INFO/locust.runners: All users spawned: {"Test": 2} (2 total users)
测试01
测试01
A new test is ending
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值