简介
主要用于压力测试;可简单做接口自动化,完善的接口自动化体系开发较多见用python。
依赖:JDK8以上
下载:JMeter官网https://jmeter.apache.org/download_jmeter.cgi
运行:解压,/bin/jmeter.dat
核心组件
执行顺序:
测试计划>线程组>配置元件>前置处理器>定时器>取样器>后置处理器>断言>监听
必须组件:测试计划、线程组、取样器
辅助组件:剩余的
辅助组件作用于父组件、同级组件、同组件下所有子组件
使用记录
配置文件
1、HTTP请求默认值:一般用作全局配置服务器协议、IP、端口
2、用户定义变量:在其他组件中使用 ${变量名称} 进行引用
取样器
1、最小请求单元,模拟用户操作,发送请求接收响应
2、参数含有特殊字符、中文时,需勾选编码
3、HTTP消息头管理器:常见存放cookie、session;对于消息body data为json,消息头管理器里指定报文格式 content-type:application/json
后置处理器
1、提取响应中的数据
2、JSON提取器
JsonPath表达式提取,多个变量必须对应多个表达式,多个匹配选项,多个默认值,均用 英文分号; 隔开
3、正则表达式提取器
字符串匹配正则表达式
.* 匹配所有知道文本末尾,可能有多个值
.*?就近匹配,一旦搜到结尾字符即停止搜索,最多只有1个值
监听器
查看结果树:常用于调试脚本时观测请求、响应正确与否
断言
自动化验证取样器请求或对应响应数据是否返回期望结果
参数化
CSV Data Set Config:参数取值范围较大时使用;文件保存数据需要注意编码格式为utf-8;格式要求严格;按列组织数据,列之间半角英文逗号隔开;一次读取一行
User Defined Variables :用户定义变量,不随请求变化的参数
User Variables:参数取值范围小时使用
JDBC驱动和数据断言
驱动包导入:路径 /bin/ext ,版本需与数据库匹配
JDBC连接配置项(配置元件) > JDBC 请求(取样器) > 调试后置处理程序(后置处理器,变量值监控)> BeanShell断言(java代码,判断数据库中数据是否根据业务请求更新)