随笔分类 -  Locust实战教学

摘要:一、背景 我们在测试或者注册的时候,想要的得到不同的结果,这时我们就要用的参数化,比如csv实现数据驱动,等等,那么在locust中我们如何实现参数化呢? 案例: 模拟三个用户注册账户,要求注册的账户不重复,使用参数化 二、实现逻辑 这里我们可以用读取本地csv的方式读取数据,并返回一个列表对象,然 阅读全文
posted @ 2024-03-20 16:47 yongheng999 阅读(262) 评论(0) 推荐(0) 编辑
摘要:一、背景要求 其实很多时候,根据业务场景的不同,我们要实时不均匀的负载,比如不同的时间段我们的负载量也不一样, 因为很多时候很多软件的用户访问时间都集中在晚上,白天访问量很低,那么针对这种情况我们如何来自定义压测场景呢? 其实我们Locust 支持自定义压测场景,比如(基于时间策略的阶梯式加压): 阅读全文
posted @ 2024-03-20 15:36 yongheng999 阅读(185) 评论(0) 推荐(0) 编辑
摘要:一、场景要求 我们在使用locust时,有时候默认的场景无法满足我们的要求时,这时后我们需要自定义场景 比如我们要设置每一段时间启动10个用户运行,执行60s后再一次启动10个用户,总共运行10分钟,默认的场景是无法满足这样的要求的,我们可以使用LoadTestshape类,LoadTestshap 阅读全文
posted @ 2024-03-20 11:44 yongheng999 阅读(192) 评论(0) 推荐(1) 编辑
摘要:一、什么是集合点? 集合点用以同步虚拟用户,以便恰好在同一时刻执行任务。在[测试计划]中,可能会要求系统能够承受1000 人同时提交数据,可以通过在提交数据操作前面加入集合点,这样当虚拟用户运行到提交数据的集合点时,就检查同时有多少用户运行到集合点,如果不到1000 人,已经到集合点的用户在此等待, 阅读全文
posted @ 2024-03-19 17:17 yongheng999 阅读(191) 评论(0) 推荐(0) 编辑
摘要:一、检查点的方式有哪些: 主要是python 内置的assert 断言(自动断言)还有locust 中的catch_response 断言(手动断言);那么这两者之间有什么区别呢? 其实主要区别在与生成locust 报告上面,手动断言失败,我们在locust上面可以清楚的看到报错信息,如果通过内置断 阅读全文
posted @ 2024-03-19 15:48 yongheng999 阅读(256) 评论(0) 推荐(1) 编辑
摘要:一、首先我们理解下什么是关联? 跟接口测试一样,我们经常需要将上一个接口返回的参数用于第二次请求 二、业务场景1: 用户需要先登录获取token,之后去加入购物车、下订单、充值等等行为都是需要用到这个身份验证 三、解决方案: 客户不是每次行为都需要登录,每个客户只需要登录一次就可以得到这个token 阅读全文
posted @ 2024-03-19 15:38 yongheng999 阅读(132) 评论(0) 推荐(0) 编辑
摘要:一、**Mimesis的介绍** Mimesis是一个用于Python的high-performance伪数据生成器,它用各种语言为各种目的提供数据。这些假数据可以用来填充测试数据库,创建假API端点,创建任意结构的JSON和XML文件,匿名化从生产中获取的数据等等。 二、**主要特点是:** * 阅读全文
posted @ 2024-03-19 08:58 yongheng999 阅读(175) 评论(0) 推荐(0) 编辑
摘要:运行 `Locust`时,通常会使用到两种运行模式:**单进程运行**和 **多进程分布式运行** 。 **单进程运行模式** `Locust`所有的虚拟并发用户均运行在单个 `Python`进程中,具体从使用形式上,又分为 `no_web`**和** `web`**两种形式。该种模式由于**单进程 阅读全文
posted @ 2024-03-16 21:26 yongheng999 阅读(147) 评论(0) 推荐(0) 编辑
摘要:从脚本中可以看出,脚本主要包含两个类,一个是 `UserLocust`(继承自 `HttpLocust`,而 `HttpLocust`继承自 `Locust`),另一个是 `UserCollects`(继承自 `TaskSet`)。事实上,在 `Locust`的测试脚本中,所有业务测试场景都是在 ` 阅读全文
posted @ 2024-03-16 21:23 yongheng999 阅读(46) 评论(0) 推荐(0) 编辑
摘要:需求:用旧版本的locsut去压测我们的验证码和登录的接口。’ 定义任务 :发送http接口请求 》类似于Jmeter中的http取样器 定义任务集:定义一个用户行为,包含多个http请求 》类似于Jmeter中的事务控制器 定义Locust类:Locus类代表用户,用户会对应具体的用户行为 --》 阅读全文
posted @ 2024-03-16 21:22 yongheng999 阅读(84) 评论(0) 推荐(0) 编辑
摘要:Locust的安装(注意) 新版本以2开头,现在最新稳定版为2.10.1; (2.x版本) 旧版本以0开头,比如我现在安装的是开发版本为0.12.2. 那么他们有什么区别呢?目前有如下发现: 安装方式的变化: 旧版本安装命令为:pip install locustio 新版本安装命令为:pip in 阅读全文
posted @ 2024-03-12 22:09 yongheng999 阅读(201) 评论(0) 推荐(0) 编辑
摘要:不同细节表现如下: * 脚本 locust使用写脚本的方式,方便对于python有一定基础的人,可以随着自己的想法进行脚本的编写 jmeter通过可视化工具,填写后保存。上手难度低,适合所有人员。 * 运行 locust有两种启动,一种通过web模式控制,还有一种通过命令行控制 jmeter有两种启 阅读全文
posted @ 2024-03-12 21:39 yongheng999 阅读(50) 评论(0) 推荐(0) 编辑
摘要:一 Locust的介绍 现在不管是互联网行业还是传统行业,对性能的要求,都日渐增多,为了能更快更准确的定位问题,发现问题,以及解决问题,市面上出现了越来越多的性能测试工具,例如Jmeter,LoadRunner,Locus,而今天,我们主要介绍就是Locust,locust官网如下:https:// 阅读全文
posted @ 2024-03-12 21:35 yongheng999 阅读(89) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示