目录
一、断言
1、响应断言
2、json断言
3、持续时间断言
二、关联
1、正则表达式介绍
2、正则表达式提取器
3、Xpath提取器
4、JSON提取器
5、JMeter属性
三、web脚本录制
一、断言
定义:让程序自动判断实际的返回结果是否与预期结果保持一致
- 自动校验机制:自动判断响应状态码(2xx:成功,4xx/5xx:失败)
- 响应内容需要自己写脚本
Jmeter常用断言:
- 响应断言:对任意格式的响应数据进行断言
- json断言:对json格式的响应数据进行断言
- 持续时间断言:对响应时间进行断言
1、响应断言
作用:对HTTP请求的任意格式的响应结果进行断言
位置:测试计划→线程组→HTTP请求→(右键添加)断言→响应断言
参数:
案例:
2、json断言
作用:对HTTP请求的JSON格式的响应结果进行断言
位置:测试计划→线程组→HTTP请求→(右键添加)断言→JSON断言
参数:
路径格式以$.开头,表示根的意思 ,后面指定要取值的变量
操作步骤:
- 添加线程组
- 添加HTTP请求
- 添加JSON断言
- 添加查看结果树
3、持续时间断言
作用:检查HTTP请求的响应时间是否超出要求范围
位置:测试计划 →线程组 →HTTP请求 →(右键添加)断言 →断言持续时间
参数:只有一个,允许最长响应时间
二、关联
定义:请求之间有依赖关系,一个请求的响应数据作为另一个的请求参数来传递
JMeter关联:
- 正则表达式提取器:提取任意格式的响应数据
- Xpath提取器:提取HTML格式的响应数据
- JSON提取器: 提取JSON格式的响应数据
1、正则表达式介绍
正则表达式:就是一个公式,或者说一套规则,使用这套规则可以从任意字符串中提取出想要的数据内容。
公式格式:左边界(匹配符号)右边界:可以提取出想要获取的数据内容
. :是通配符,可以代表任意字符(除换行回车)
* :代表前面的字符出现0次或者多次
.*:代表任意字符
(以上符号匹配规则:找到左边界值后,往右查找有边界,找到最后面的右边界,中间的所有数据都被记录下来)
? :代表非贪婪匹配,找到左边界后,往右查找匹配右边界,只要有匹配的右边界就停止继续查找;再次查找左边界和右边界,即一个一个的找。
公式格式:左边界(.*?)右边界
案例一:找到“百度一下,你就知道”
原始文本:<title>百度一下,你就知道</title>
正则表达式<title>(.*?)</title>
案例二:
原始文本:
021-1234-1234
022-1234-1235
023-1234-1236
024-1234-1237
025-1234-1238
026-1234-1239 要求:匹配出 城市号、地区号、个人号码三组
正则表达式:(.*?)-(.*?)-(.*?)\n
2、正则表达式提取器
作用:针对任意格式的响应数据进行提取
位置:测试计划→线程组→HTTP请求→(右键添加)后置处理器→正则表达式提取器
参数:
操作步骤:
- 添加线程组
- 添加HTTP请求
- 添加正则表达式提取器
- 引用名称:存放提取出的值的参数名称,如填写title
- 正则表达式:左边界( .*? )右边界
- 模板:用$$引用起来,表示解析出第几个()的值
- 匹配数字::表示第1个值,-1表示所有取值
- 添加HTTP请求-百度
- 引用正则表达式中的引用名称。如:用${title}引用它
- 添加查看结果树
案例:获取传智播客首页的地址,把第5个校区地址作为参数传递(span为地址的校区)
方法1:
- 添加线程组
- 添加HTTP请求 - itcast
- 添加正则表达式 —— 获取第5个地址
- 添加HTTP请求 - 百度
- 查看结果树
方法2:
- 添加线程组
- 添加HTTP请求 - itcast
- 添加正则表达式 —— 获取所有匹配的地址数据
- 添加Debug Sample:调试用的,会打印area信息
- 添加HTTP请求 - 百度,引用第5个地址信息,格式:${变量名_索引},索引从1开始
- 查看结果树
3、Xpath提取器
学过UI自动化就知道怎么匹配了
作用:针对HTML格式的响应结果数据进行提取
位置:测试计划 →线程组 →HTTP请求→(右键添加)后置处理器→XPath提取器
参数:
引用方式:${变量名} 或 ${变量名_索引}
4、JSON提取器
作用:针对JSON格式的响应结果数据进行提取
位置:添加方式:测试计划→线程组→HTTP请求→(右键添加)后置处理器 →JSON提取器
参数:
5、JMeter属性
数据提取还是用上面三种方法实现,但是数据在不同线程组传递就可以用到JMeter属性
详细过程:
19.性能测试_JMeter属性的介绍_哔哩哔哩_bilibili
三、web脚本录制
实际工作一般不用
JMetr录制脚本:在没有接口文档的旧项目当中,快速录制web页面产生的http接口请求,帮助
编写接口测试脚本。
JMetr录制脚本原理:
JMetr录制脚本的操作步骤:
1、添加HTTP代理服务器,并进行配置
- 加HTTP代理服务器:测试计划(右键)→非测试元件→HTTP代理服务器
- 配置理代服务器的参数
2、开启windows操作系统的浏览器代理
3、启动代理服务器,开始录制
4、在浏览器页面中进行操作,成功后,就能在JMeter当中看到抓取到的接口请求了。