day36-测试之Locust框架

一、Locust框架

        1.1.特点

                1).基于Python的开源负载测试工具

                2).支持多种操作系统

                3).支持二次开发

                4).能够模拟更多用户

                5).基于协程(微线程)的并发

        1.2.Locust与JMeter对比

        1.3.Locust安装

                pip install locustio==0.12.2

        1.4.Locust测试脚本实现步骤

                1).定义任务

                        发送HTTP接口请求。(类似于JMeter中的HTTP取样器)

                2).定义任务集

                        定义一个用户行为,包含多个HTTP请求(即具体的任务)。(JMeter中的事务控制器)

                3).定义Locust类

                        Locust类代表用户,用户会对应具体的用户行为(即任务集)。(JMeter中的线程组)

        1.5.编写Locust测试脚本

                1).定义任务(使用request库)

                        1.1).Locust里发送请求是基于requests实现的,请求方法、参数、响应对象和requests使用方式一样

                        1.2).代码

def login(l):
    l.client.post("/login", data={"username": "admin", "password": "123456"})


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


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


def logout(l):
    l.client.get("/logout")

                2).定义任务集(用户行为)

                        2.1).定义一个用户行为类,要继承TaskSet类,表示一个任务集

                        2.2).tasks:用米添加任务,它是一个dict类型,key表示任务的方法名,value表示挑选执行的权重,数值越大执行频率越高

                        2.3).on_start:前置方法(前置任务),在所有任务之前调用

                        2.4).on_stop:后置方法(后置任务),当任务集停止时调用

                        2.5).代码

from locust import TaskSet
class UserBehavier(TaskSet):
    tasks = {index:3,profile:1}

    def on_start(self):
        login(self)

    def on_stop(self):
        logout(self)

                3).定义locust类

                        3.1).自定义的Locust类继承了HttpLocust类,这个类代表用户

                        3.2).task_set:该属性指向TaskSet类,定义用户的行为

                        3.3).min_wait:用户执行任务之间等待时间的下界,默认值:1000ms

                        3.4).max_wait:用户执行任务之间等待时间的上界,默认值:1000ms

                        3.5).host:被测应用的网址,例如:http://bms-test.itheima.net

                        3.6).weight:用户被选中的概率,权重越大,被选中的机会就越大。默认值:10

                        3.7).代码

from locust import HttpLocust
class WebsiteUser(HttpLocust):
    task_set = UserBehavier
    min_wait = 2000
    max_wait = 3000
    host = "http://bms-test.itheima.net/bms"
    weight = 10

                4).运行脚本

                        4.1).运行命令:locust-f locust_files/my_locust_file.py--host=http://example.com

                        4.2).参数介绍

                                1.-f:用来指定locust文件所在路径

                                2.--host:用来指定测试应用的网址

二、今日学习思维导图

  • 20
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
搭建 Locust 性能测试框架相对简单,以下是基本步骤: 1. 安装 PythonLocust 是基于 Python 编写的,所以首先需要安装 Python。您可以从 Python 官方网站下载并安装最新版本的 Python。 2. 安装 Locust:一旦 Python 安装完成,可以使用 pip 命令来安装 Locust。在命令行中输入以下命令安装 Locust: ``` pip install locust ``` 3. 创建测试脚本:创建一个 Python 文件,例如 `locustfile.py`,用于编写 Locust 测试脚本。在脚本中,您可以定义用户行为、任务以及性能测试的逻辑。 4. 编写测试脚本:在 `locustfile.py` 文件中,您可以使用 Locust 提供的装饰器来定义用户行为,例如 `@task` 和 `@between`。您还可以设置用户的行为频率和任务执行的时间间隔。 5. 启动 Locust:在命令行中导航到测试脚本所在的目录,并输入以下命令来启动 Locust: ``` locust -f locustfile.py ``` 这将启动 Locust 并提供一个 web 界面,您可以通过浏览器访问该界面。 6. 配置和运行测试:通过 Locust 的 web 界面,您可以配置并运行测试。您可以设置并发用户数、用户生成速率等参数,并监控测试的指标和结果。 7. 分析测试结果:Locust 提供了丰富的测试结果和统计信息,您可以通过 web 界面或者命令行查看并分析测试结果,以评估系统的性能。 这就是搭建 Locust 性能测试框架的基本步骤。希望对您有所帮助!如有任何进一步的问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开测开测

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值