1、 jmeter http接口参数化(有多种实现方法)

第一种方法是使用用户定义的变量:

在线程组上右键添加一个配置元件---》用户定义的变量

jmeter java请求设置请求参数 jmeter http请求参数化_数据库

jmeter java请求设置请求参数 jmeter http请求参数化_客户端_02

 在http请求中的使用方法

jmeter java请求设置请求参数 jmeter http请求参数化_jmeter_03

第二种是使用CSV数据文件设置:

在线程组上右键添加一个配置元件---》CSV数据文件设置

 

jmeter java请求设置请求参数 jmeter http请求参数化_数据库_04

jmeter java请求设置请求参数 jmeter http请求参数化_字段_05

 设置字段的含义:

文件名:填写设置的文件路径(文件格式一般是txt文件)
文件编码进行下拉选择utf-8
变量名称写的是写入的字段

jmeter java请求设置请求参数 jmeter http请求参数化_字段_06

第三种是使用随机变量

在测试计划中添加随机变量

jmeter java请求设置请求参数 jmeter http请求参数化_数据库_07


设置输出的变量名称,输出格式,随机发生器

jmeter java请求设置请求参数 jmeter http请求参数化_字段_08

 2、请求带有token信息的请求(提取token请求方便别的接口调用)

针对登录请求的测试结果提取返回信息中的token(一般我使用json提取;也可以使用别的) 

jmeter java请求设置请求参数 jmeter http请求参数化_字段_09

 

jmeter java请求设置请求参数 jmeter http请求参数化_字段_10

 登录成功后的返回信息中有access_token,这是一个身份令牌,我提取出来作为一个凭证

添加json提取器,把要提取的变量名字段写出来,然后运行;如果想验证自己写的json提取是否成功可以通过查看结果树去自行验证

jmeter java请求设置请求参数 jmeter http请求参数化_字段_11

 提取到token信息后,需要把这个token信息添加到下个请求的请求信息头里面去

jmeter java请求设置请求参数 jmeter http请求参数化_jmeter_12

请求信息头各字段含义

Accept-Lanuage

指定HTTP客户端浏览器用来展示返回信息优先选择的语言

Accept-Encoding

指定客户端浏览器可以支持的web服务器返回内容压缩编码类型。表示允许服务器在将输出内容发送到客户端以前进行压缩,以节约带宽。而这里设置的就是客户端浏览器所能够支持的返回压缩格式。

Accept

指定客户端能够接收的内容类型,内容类型的先后次序表示客户都接收的先后次序

User-Agent

HTTP客户端运行的浏览器类型的详细信息。通过该头部信息,web服务器可以判断出http请求的客户端的浏览器的类型。

Authorization
授权信息;这里填写token信息;我们上面讲了提取登录返回的token信息,所以我们要在这个字段中填写为${token}
 

3、调用一些简单的时间函数

当只需要变量天时,可以直接使用 2D、-3D、+1D等,也可以P2D。

${__timeShift( yyyy-MM-dd HH:mm:ss ,P2D,)}

${__timeShift( yyyy-MM-dd HH:mm:ss ,P-3D,)}

${__timeShift( yyyy-MM-dd HH:mm:ss ,P+1D,)}

当需要变量时分秒时,需要首字母PT。1

${__timeShift( yyyy-MM-dd HH:mm:ss ,PT-6H10M10S,)

减少6小时,增加10分钟,增加10秒。

当需要天和分秒一起使用时,需要 P天 T时分秒使用。

${__timeShift( yyyy-MM-dd HH:mm:ss ,P2DT-6H10M10S,)}

增加2天,减少6小时,增加10分钟,增加10秒。

4、添加数据库操作

1、先下载jmeter的数据库驱动,下载地址:MySQL :: Download Connector/J

下载完成后把文件放到jmeter的lib目录下的ext文件中 重启jmeter

2、把刚才添加的文件添加到测试脚本中,这样说明已经脚本引入了数据库驱动

jmeter java请求设置请求参数 jmeter http请求参数化_数据库_13

 3、在线程组下添加数据库的配置元件JDBC Connection Configuration,填写数据库的配置信息

jmeter java请求设置请求参数 jmeter http请求参数化_字段_14

jmeter java请求设置请求参数 jmeter http请求参数化_jmeter_15

 DataBase URL 格式为:jdbc:mysql://服务器ip:端口号/数据库JDBC Driver Class填写:下拉选择com.mysql.jdbc.Driver 这个地方会有坑(会出现配置失败的请款报告,需要自己手动输入) com.mysql.cj.jdbc.Driver 驱动版本不配套的情况下

username、password 数据库的用户名和密码 root ********

4、添加JDBC Request请求

jmeter java请求设置请求参数 jmeter http请求参数化_字段_16


 

5、分布式压力测试

分布式压测按照我的想法就是有一台主控机和几台压力机。主控机通过远程控制压力机启动测试,来实现系统不同级别访问量情况下的性能验证

1、先编写需要测试的场景脚本

2、部署主控机和压力机:

  • 主控机和压力机可以访问
  • 都有安装jmeter,且版本保持一致(脚本相同、插件一致)
  • 修改jmeter的配置文件配置部署机器IP:

1、bin目录找到配置文件jmeter.properties

2、设置压力机的ip信息

jmeter java请求设置请求参数 jmeter http请求参数化_字段_17

3、验证是否压力部署成功

jmeter java请求设置请求参数 jmeter http请求参数化_数据库_18

 6、性能监控工具

脚本执行完成后可以使用查看结果树、聚合报告、汇总报告去查看运行过程中接口的调试情况,当然jmeter也提供了插件去查看这些性能指标

jmeter java请求设置请求参数 jmeter http请求参数化_字段_19

Plugins Manager下载地址:Install :: JMeter-Plugins.org;下载完成后放到lib\ext目录下重新启动程序,插件安装成功后工具的页面出现蜻蜓图标

jmeter java请求设置请求参数 jmeter http请求参数化_客户端_20

 下载插件:点击Available Plugins选项,并点击PerfMon

jmeter java请求设置请求参数 jmeter http请求参数化_客户端_21

添加监控信息

jmeter java请求设置请求参数 jmeter http请求参数化_字段_22