文章分类 - jmeter
摘要:一、背景 在接口性能测试中,当请求发送后,需要判断请求发送后,返回的内容是否与预期一致,所以需要进行断言,断言的方法很多,其中json断言应用非常广泛,具体如下。 二、Json断言简介 字段说明 **Assert JSON Path exists:**需要断言的 Jsonpath 表达式 **Add
阅读全文
摘要:一、背景 在性能测试中,尤其是抢购/抢红包/秒杀活动业务等某时段集中访问场景,需要模拟多用户集中并发测试,此时需要用到同步定时器(Synchronizing Timer)。如下图,模拟用户组的数量设置20,相当于20个用户(线程)并发 二、同步定时器 同步定时器(Synchronizing Time
阅读全文
摘要:一、背景 由于在jmeter录制脚本时,需要设置浏览器代理,这样才能方便录制脚本。而设置代理的方法比较多,一种是直接在浏览器设置代理,另外就是安装插件,方便切换代理工具。此处安装的是proxy SwitchyOmega插件。 二、安装插件 打开浏览器设置,搜索安装proxy SwitchyOmega
阅读全文
摘要:一、背景 在实际的性能测试中,在执行容量性能测试时,稳定施压过程中,当用户梯度增加到一定程度时,服务器会开始报错,请求的响应时间过长,错误率过大,此时,需要设置触发点,自动停止测试,因为已经没有测试的必要了。这个时候就可以借助另外一个插件—— Auto-Stop Listener,它可以自动停止脚本
阅读全文
摘要:一、背景 在性能测试中,由于系统本身的最大 TPS 上限是固定的,即服务端的处理能力(容量)是固定的,如果自变量(线程数)压力过大,那么系统平均处理时间(响应时间)会被拉长。不过这个时候其实瓶颈早就出现了。 所以在场景压测中的自变量(线程数)递增一定需要是连续的,并且在递增的过程中要有梯度的,且场景
阅读全文
摘要:一、背景 每秒事务数(Transactions per Second),在性能测试中是一个非常重要的指标,在聚合报告里面能看到最后的测试结果TPS值。 如果想查看更详细的报告,查看测试过程中不同时间段的每秒事务数,可以使用 jp@gc - Transactions per Second 插件来查看。
阅读全文
摘要:一、背景 jmeter作为一个开源的接口、性能测试工具,其本身的小巧和灵活性给了测试人员很大的帮助,尤其是其活跃的社区,发展并产生大量优秀的插件,比如取样器、性能监控的插件工具等。但要安装这些优秀的插件,需要先安装插件管理器。具体如下: 二、插件管理器下载 首先,下载jmeter的插件管理工具,下载
阅读全文
摘要:一、背景 性能测试时,需要模拟真实用户的使用场景,所以往往在设计性能测试用例时,需要模拟多业务场景下,各个业务按一定的比例进行压测,测试系统对应业务的响应时间等指标。而吞吐量控制器(Throughput Controller)可以控制分配不同比例的并发用户数。 二、吞吐量控制器(Throughput
阅读全文
摘要:一、背景 事务响应时间是性能测试中衡量业务性能的主要指标。 事务,其实可以理解为完成一个业务所调用所有接口的集合,当然可以是单个接口,也可以是多个相互关联的串联接口。比如,登录操作就是调用一个接口,而购买商品,就需要登录+浏览商品+添加购物车+支付等,多个接口的调用。 所以在进行性能测试时,在用于多
阅读全文
摘要:一、背景 事务响应时间是性能测试中衡量业务性能的主要指标。事务,其实可以理解为完成一个业务所调用所有接口的集合,当然可以是单个接口,也可以是多个相互关联的串联接口。比如,登录操作就是调用一个接口,而购买商品,就需要登录+浏览商品+添加购物车+支付等,多个接口的调用。 所以在进行性能测试时,在用于多接
阅读全文
摘要:一、背景 在接口测试时,经常会存在构造测试数据的情况,比如构造年龄、电话号码等等,所以一般会用到计数器(Counter)配置元件。 组件的位置:测试计划或者线程组右键,Add->Config Element->Counter 二、计数器(Counter) 1、界面介绍 Name(控件名称):控件名称
阅读全文
摘要:一、背景 在接口测试时,经常会存在构造测试数据的情况,比如构造年龄、电话号码等等,所以一般会用到随机变量(Random Variable)配置元件。 组件的位置:测试计划或者线程组右键,Add->Config Element-> Random Variable 二、随机变量(Random Varia
阅读全文
摘要:一、背景 在一般情况下,JMeter线程在发送请求之间是没有间歇时间的,为了更加真实地模拟用户请求情况,会将定时器用于在用户操作之间,为每个操作设置等待时间。 需要注意的是定时器是在每个取样器之前执行,无论定时器位置放在取样器之前还是之后,执行一个取样器时,所有当前作用范围内的定时器都会被率先执行。
阅读全文
摘要:一、背景 在一般情况下,JMeter线程在发送请求之间是没有间歇时间的,为了更加真实地模拟用户请求情况,会将定时器用于在用户操作之间,为每个操作设置等待时间。 需要注意的是定时器是在每个取样器之前执行,无论定时器位置放在取样器之前还是之后,执行一个取样器时,所有当前作用范围内的定时器都会被率先执行。
阅读全文
摘要:一、背景 性能测试中我们为了模拟大量用户操作,往往需要做参数化,JMeter的参数化可以通过配置元件来完成,即参数化配置元件,它可以帮助我们从文件中读取测试数据。 这里介绍比较常见的 JMeter 参数化的实现方式CSV Data Set Config,本质是将参数化的数据放入文件中,参数化读取依赖
阅读全文
摘要:一、概念 JMeter 的线程组元件中的线程属性,线程组建立是你使用 JMeter 进行性能测试最基础的步骤,压力发起策略几乎都依赖于这个元件,所以理解其核心参数很有必要。 线程组(Thread Group)顾名思义是用来管理线程的 。在jmeter里,模拟多用户操作是通过设置多线程来实现的,一般一
阅读全文
摘要:一、背景 在用jmeter进行接口测试时,一般会涉及到测试前的准备工作,比如数据准备、登陆操作等。在测试完毕后,一般还涉及到数据的清理,或者系统的退出操作。此时需要用到jmeter的setUp线程组。这与单元测试框架(unitest、pytest)中的前后与后置操作逻辑基本一致。 二、setUp线程
阅读全文
摘要:一、背景 在用jmeter进行接口测试时,由于管理的接口越来越多,此时可以将通用的接口信息统一进行管理,方便后续维护,在添加接口时,也更快捷。一般管理的方式有两种,一是全局变量进行管理,二是HTTP请求默认值的方式。 二、全局变量管理 1、添加用户自定义变量元件 2、配置变量值 在用户自定义变量元件
阅读全文