随笔分类 - Locust 系列教程
摘要:脚本开发入门 本节主要介绍 Locust 执行参数化的方法,参数化的目的无非就是以下几种: 模拟用户在不同场景下的传参差异化,比方说所有并发对同一个订单执行支付,也许你需要检验这样是否能发现到一些别的异常,但这是不符合性能测试需求的 满足业务对用户传参的约束条件,比方说你如果压测的是即时通讯的消息收
阅读全文
摘要:Locust 场景执行:Web UI 中执行 Locust 执行模式包含两种 Web UI 模式 在这个模式下,你可以通过 Web 控制场景的执行、实时的了解被测试应用性能表现趋势,但是 Locust 没有提供主流压测工具那样的丰富图表,你能看到的只有: 每秒发出的请求数 请求的响应事件 运行中的“
阅读全文
摘要:脚本开发入门 在前面的两节里面,我们已经演示了一个 Locust 的: 脚本的基本构成 脚本的初始化:on_start 脚本的任务规划:通过 @task 装饰器实现 任务的控制:按权重执行、按顺序执行 等待的控制:任务之间的3种间隔、步骤之间采用 time 的 sleep 响应的解析:状态码、响应正
阅读全文
摘要:脚本开发入门 现在我们对这个脚本进行一些修改,让它更像一个真实的用户访问行为 1) 任务等待时间:任务之间按照特定的等待时间进行间隔 Locust 的任务之间等待时间控制包括: 方法1:between 类,指定范围内随机(5~10秒)等待 wait_time = between(5, 10) 方法2
阅读全文
摘要:脚本基本构成 一个 Locust 测试脚本就是一个普通的 python 文件,它的基本组成十分简单: 定义用户的类型 所有用户的属性都需要继承自 User Class,我们最常用的 HttpUser 也是如此,你也可以定义一个如 TcpUser,或者 WebSocketUser,甚至基于你测试的业务
阅读全文
摘要:在这节里面,我们实现的是: 一个用户登录后,随机的访问指定页面的测试脚本。 测试用例 在下面的用例中,表示每个模拟的用户执行任务过程中: 首先: 将以 100% 的概率通过login接口执行登录操作; 然后: 有25%的概率按照顺序访问/hello页面和/world页面 有75%的概率访问/item
阅读全文
摘要:教程版本 基于版本:1.0.3 最近更新:2020年07月 目录大纲 01、快速开始 Locust 系列教程:目录大纲 Locust 简介、环境、安装 Locust 快速开始:一个简单的登录、页面浏览脚本 02、脚本开发实现 Locust 脚本开发入门(1) Locust 脚本开发入门(2) Loc
阅读全文
摘要:Locust 默认支持 HTTP 协议(默认通过 HttpUser 类),我们也可以自行实现任意协议的 Client 对它 User 类进行继承(HttpUser 也是继承自 User)并增加所需要的方法,这样也就实现了任意协议的压测。 针对 WebSocket 协议的 Locust 压测脚本实现无
阅读全文
摘要:Locust 简介 Locust 是一个分布式的负载测试框架,就如你已经熟悉的 LoadRunner、Jmeter 一样,你可以使用 Locust 对 Web 站点或 HTTP 接口进行负载测试,你也可以通过自行实现 Client 实现其它服务类型(如:中间件、数据库)或其它通讯协议(如:WebSo
阅读全文