Jmeter使用文档
1.jmeter的安装
Jmeter为开源软件,由bat文件调用jar包的执行,所以jmeter无需安装,但是运行电脑需要32位的jdk环境(jdk安装目录为C:\Program Files (x86)\Java\jdk1.8.0_144)
将jmeter解压到磁盘根目录下,切换到bin目录中,双击jmeter.bat即可启动
如果jmeter的启动过程中发生错误,一般是由于jdk环境变量配置存在问题,需要检查jdk环境变量的的配置
2.jmeter的主界面
双击jmeter.bat启动jmeter后,可以进入到jmeter的主页面,可以在option中选择主页面的外观以及语言
2.1选择jmeter的外观
2.2选择jmeter的语言
3.使用jmeter 添加接口请求
3.1在添加接口请求之前需要先添加线程组,用来管理所有接口请求,一般一个功能模块为一个线程组
3.2添加好线程组后,右键点击线程组添加取样器中的HTTP请求,HTTP请求中可以配置接口的访问信息
3.3在HTTP请求中配置接口的访问信息
3.4配置好接口的访问参数后,可以点击jmeter中的运行按钮,在运行之前需要先保存脚本,根据提示设置脚本保存的目录
3.5保存完脚本后,发现无法查看接口运行的情况,需要在线程组中添加监听器中的察看结果树
3.6在查看结果数中,可以查看接口返回数据的情况,点击查看结果数中接口的名称,可以查看单条接口的请求,响应数据等信息
3.7也可以在选项页面,设置响应数据的格式为Json格式
3.8定位察看结果树中的报错情况
如果是绿色状态,代表jmeter与接口服务器通信正常,错误原因应该为参数值设置错误,如果是红色报错,则证明jmeter与接口服务器之间通信异常,应为接口连接的问题
4.添加HTTP请求默认值
HTTP请求默认值的作用在于可以统一管理项目地址,例如接口连接中重复的服务器IP,重复提交的参数等,可以在HTTP请求默认值中做相关配置,这样一来可以在切换接口服务器IP时,在jmeter脚本中也可以快速修改
4.1在线程组中添加HTTP请求默认值
4.2配置HTTP请求默认值
5.添加响应断言
响应断言的作用在于可以自动判断接口返回数据是否符合预期,通过对比接口返回数据中的固定字符串,实现判断的目的
5.1添加响应断言
由于响应断言是判断接口返回的数据,所以需要添加到接口中而不是线程组中
5.2配置响应断言内容
在响应断言面板中配置响应断言相关的信息
要测试的字段:由于断言用来判断接口返回数据,所以判断的主体为响应文本
模式匹配规则:“包括”的意思为接口响应数据中包括预期的字段
“匹配”与“equals”的意思都是接口响应数据与预期字段相等
“Substring”的意思为子字符串
“否”代表在选择的条件上加否,比如选择包括+否,意思为不包括
要测试的模式:预期字段
5.3响应断言判断的效果
当接口返回数据与响应断言中的不一致时,响应断言会作出相应提示
6.参数化
6.1添加参数化配置文件
6.2配置参数化
配置参数名:参数名为参数文件的调用形式,在接口链接中通过参数名调用参数文件
选择参数文件:参数文件为文本类型,可以使用notpad++编辑,避免出现编码错误
选择编码格式:默认选择utf-8格式
6.3在接口链接中调用参数
Jmeter中的参数格式默认为 ${参数名}的形式
6.4配置多个参数
Jmeter支持在同一个文件中配置多个参数的方式
参数文件配置:参数文件中需要以逗号为分隔符
Jmeter参数配置:在变量名称中配置对应的参数名,多个参数名之间要以英文逗号为分隔符
参数的顺序为读取数据的顺序,例如变量名中配置的顺序为username,password则username取参数文件中的第一列,password读取参数文件中的第二列
7.添加正则表达式提取器
7.1正则表达式提取器的作用
在接口的访问中,经常会出现动态验证的情况,例如物业接口中,登录接口返回数据中存在token参数,并且token参数会实时变化,并且其他接口在访问时需要使用动态变化的token值
在访问其他接口时,需要从登陆接口中获取到最新的token数据,所以需要调用正则表达式提取器
注:token为接口中的一种用户验证方式,通过动态变化提升接口的安全性
7.2正则表达式提取器的原理
正则表达式提取器是利用正则表达式从接口返回数据中提取指定字符串,并将其保存在参数中,并提供给其他接口调用,正则表达式是一种模糊查询方式,可以使用固定组合匹配出任意字符
7.3添加正则表达式提取器
正则表达式是作用在接口的返回数据中,所以要添加到接口链接中
7.4配置正则表达式提取器
1.要检查的响应字段:主体为接口的响应数据 body以及信息头代表的是接口的其他部分,由于要提取的内容大部分在接口响应数据中,所以这里默认选择主体
2.引用名称:类似于参数文件中的参数名
3.正则表达式:通过表达式可以提取出指定字符,表达式一般为接口数据中字段与符号的组合
4.模板:默认写为$1$
5.匹配数字:当正则表达式可以匹配出多个值时,1 代表匹配结果中的第一个 0代表随机选择
6.缺省值:当正则表达式无法找到值时,会选择一个默认值
7.5使用正则表达式中的参数
8.接口性能测试
8.1配置接口并发场景
线程数:相当于lr中的并发用户数,此处意思为,共有200个线程并发执行线程组中的HTTP请求
Ramp-Up:线程数在一定时间内增加到最大值,图中意思为在1s内增加200个用户,相当于设置用户递增的方式
循环次数:虚拟用户循环访问接口的次数,选择永远,线程组将会无限循环
调度器:线程组的执行方式,会调用配置好的持续时间
持续时间:脚本持续运行的时长,通常与循环次数中的“永远”搭配使用,可以实现让脚本持续运行
启动延迟:设置脚本延迟执行的时间,可以实现定时执行
举例:当前接口的性能需求为满足200个用户并发访问并且响应时间需要小于300ms
设计场景:1.设定线程数为200,持续时间5min,查看测试结束后接口响应时间的情况,如果接口响应时间远远大于300ms,则需要逐步减少设置的线程数,查看响应时间在300ms时对应的线程数
2.设定线程数为200,持续时间5min,查看测试结束后接口响应时间的情况,如果接口响应时间小于300ms,则需要逐步增加设置的线程数,查看响应时间在300ms时对应的线程数
3.综上:测试结果中应该用一组数据提现接口响应时间随用户数的变化,需要有目标并发用户数对应的响应时间,也需要提现目标响应时间对应的并发用户数
8.2聚合报告
聚合报告中可以查看接口响应时间的情况,以及接口脚本执行过程中的错误率等情况,聚合报告中的时间单位为毫秒
表示的内容为每个接口请求正常处理后所消耗的时间
每秒点击量以及每秒事务数:
9.监控服务器性能
在执行性能测试的过程中可以监控服务器的硬件资源使用情况,可以选择spotlight监控,也可以选择使用jmeter自身监控
这2个指标很重要组件需要单独下载
下载组件链接参考:
https://blog.csdn.net/weixin_39430584/article/details/80947093?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.add_param_isCf&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.add_param_isCf
或者:
https://blog.csdn.net/weixin_39430584/article/details/80947093