文章目录
- 系列文章目录
- ????昨日知识点概要!
- (1)JMeter断言
- (2)JMeter关联
- (3)JMeter脚本录制
- ????性能测试工具
- 直连数据库的作用
- Jmeter直连数据库:
- 案例1:
????昨日知识点概要!
(1)JMeter断言
响应断言:
作用:在任意响应格式中,都可以使用
配置:
实际要校验的字段
校验规则
预期结果
JSON断言:
作用:响应格式为JSON数据时,使用JSON断言
配置:
JSON路径
预期结果
持续时间断言:
作用:检查响应时间是否超出预期时间
配置:预期响应时间
(2)JMeter关联
概念:请求依赖关系,一个请求的响应作为另一个请求的参数进行传递
正则表达式提取器:
作用:可以针对任意格式的响应数据进行提取
配置:变量名
- 正则表达式:左边界(.*?)右边界
- 模板:
- 匹配数字:1表示第一个值,-1表示全部值,0表示随机
XPath提取器:
作用:可以针对HTML格式的响应数据进行提取
配置:变量名
xpath表达式。//标签,//标签[@属性名=属性值]
匹配数字:1表示第一个值,-1表示全部值,0表示随机
JSON提取器:
作用:可以针对JSON格式的响应数据进行提取
配置:变量名
JSON路径。格式:$.键名.键名
JMeter属性:
作用:跨线程组关联,跨线程组实现数据的传递
函数及调用:
- 保存JMeter属性:setProperty —— 放入到BeanShell取样器中执行
- 读取JMeter属性:Property —— 放入到第二个线程组的HTTP请求中
步骤:
添加第一个线程组
添加HTTP请求
添加JSON/Xpath/正则表达式提取器 —— 提取数据
添加BeanShell取样器 —— 执行setProperty函数
添加第二个线程组
添加HTTP请求 —— Property函数读取JMeter属性
查看结果树
(3)JMeter脚本录制
原理:JMeter作为代理服务器,所有请求和响应数据都会经过JMeter,Jmeter再还原为脚本
步骤:添加代理服务器,并配置
端口
目标控制器
过滤条件
在PC上设置浏览器代理,指向JMeter代理服务器
启动JMeter代理服务器
在浏览器上操作并还原出脚本
????性能测试工具
直连数据库的作用
Jmeter直连数据库:
步骤:
•添加MySQL驱动jar包 -方式一:在测试计划面板点击“浏览…“按钮,将你的JDBC驱动添加进来
-方式二:将MySQL驱动jar包放入到lib/ext目录下,重启JMeter
配置数据库连接信息-添加方式:测试计划 --> 线程组–> (右键添加) 配置元件 --> JDBC Connection Configuration
案例1:
连接tpshop商城数据库获取商品名包含:小米手机5的商品id
需求:
1、在tpshop首页中搜索商品名称“长虹(CHANGHONG) 49A1U 49英寸双64位4K超清智能网络LED液晶电视”,
请求URL:http://127.0.0.1/Home/Goods/search.html
请求方法:GET
请求参数:q=
2、在搜索的响应数据中检查是否有该商品对应的商品链接:/Home/Goods/goodsInfo/id/65.html
(id:65需要通过数据库查询返回,才保证每次都是有效的)
编写JDBC脚本步骤(搜索指定商品,在返回结果中检查是否包含指定商品的ID的详情URL):
1.添加线程组
2.添加 JDBC Connection Configuration
3.添加 JDBC request
4.添加 HTTP请求 - 搜索商品
5.在搜索HTTP请求下,添加响应断言,检查响应结果中的字符 是否包含 **商品URL。引用格式:${变
量名_索引}
6.添加查看结果树