Skip to content

Jmeter

基于java开发的一款开源压力测试工具

安装jdk

进入官网下载jdk1.8-mac https://www.oracle.com/java/technologies/downloads/#jdk18-mac

选择Java SE Development Kit 8u333下载,下载后安装即可

img

在终端(terminal)输入java -version查看本机JDK版本

img

安装Jmeter

进入官网下载 https://jmeter.apache.org/download_jmeter.cgi

img

解压后进入目录/apache-jmeter-5.5/bin,双击ApacheJMeter.jar即可运行,可制作1个替身放到应用程序

需要调整配置参数解决中文乱码问题,修改文件/apache-jmeter-5.5/bin/jmeter.properties

查找sampleresult.default.encoding(默认的编码格式),此参数默认注释,调整为UTF-8

sampleresult.default.encoding=UTF-8

修改配置后重启即可生效

设置测试计划

设置请求头

img

常用请求头Content-Type: application/json;charset=UTF-8

添加变量

img

一般会对接口的ip和port做变量定义方便使用

img

使用时用$

新建线程组

img

配置线程组

假设要在5秒内新建10个线程

img

新建http请求

img

编辑接口信息,以登陆接口为例,使用了之前定义的变量,接口传参通过消息体数据填写

img

添加查看结果树

img

添加汇总报告

img

添加响应时间图

img

需要对图表进行简单配置,如时间间隔,可配置的再小一些,如1000

img

开始测试

点击绿色箭头开始测试,根据线程组配置,5秒内10个线程请求登陆接口

img

运行过程中绿色箭头置灰,可点击stop按钮暂停测试或关闭按钮停止测试,测试完成后绿色箭头恢复可点击

img

可以看到10次接口调用都成功返回,再查看汇总报告

img

可通过图形更直观的看到实际执行的结果

img

进阶使用

接口结果传递

正常业务场景,需要在登陆后获取登陆接口返回的票据,再后续接口请求头中都需要增加票据来实现权限认证,那么需要对登陆接口增加后置处理器

img

获取接口返回的票据并添加为变量

img

在HTTP信息头管理器中添加票据

img

验证请求头

新增一个http请求

img

再次点击测试后查看结果树,请求-请求头,可以看到请求头中已经有了票据

img

安装插件

为了更好的使用工具,需要安装插件,首先需要安装jar包,然后安装说明放入指定目录后重启生效

https://jmeter-plugins.org/install/Install/

img

img

插件包可能安装失败,可以直接下载插件包 https://jmeter-plugins.org/downloads/old/

JMeterPlugins-Standard-1.4.0.zip https://jmeter-plugins.org/downloads/file/JMeterPlugins-Standard-1.4.0.zip

JMeterPlugins-Extras-1.4.0.zip https://jmeter-plugins.org/downloads/file/JMeterPlugins-Extras-1.4.0.zip

解压后分别把/lib/ext中的JMeterPlugins-Extras.jar和JMeterPlugins-Standard.jar拷贝到/apache-jmeter-5.5/lib/ext目录,重启Jmeter就可以看到插件

其他压测方式

通过新增不同的线程组来实现

jp@gc - Stepping Thread Group

img

配置参数,使线程可促次递增

img

同时配置jp@gc - Transactions per Second和jp@gc - Active Threads Over Time和jp@gc - Response Times Over Time来观察数据变化

img

img

img

jp@gc - Ultimate Thread Group

配置更自由

img

测试场景

多用户登陆

计数器

如果变量是规律的数字,添加-配置元件-计数器

img

可在接口传参中使用变量${userId}实现参数时从1001自动加1

CSV 数据文件设置

把用户账号和密码写入csv文件

添加-配置元件-CSV 数据文件设置

img

接口请求时,用户名和密码使用变量

img

断言

可对接口返回增加断言,一般对相应结果内容做判断

img

Released under the MIT License.