性能测试-第04天-掌握Jmeter直连数据库

时间:2023-01-22 14:57:17



文章目录

  • ​​系列文章目录​​
  • ​​????昨日知识点概要!​​
  • ​​(1)JMeter断言​​
  • ​​(2)JMeter关联​​
  • ​​(3)JMeter脚本录制​​
  • ​​????性能测试工具​​
  • ​​直连数据库的作用​​
  • ​​Jmeter直连数据库:​​
  • ​​案例1:​​

????昨日知识点概要!

(1)JMeter断言

响应断言:
作用:在任意响应格式中,都可以使用

配置:
实际要校验的字段
校验规则
预期结果

JSON断言:
作用:响应格式为JSON数据时,使用JSON断言

配置:
JSON路径
预期结果

持续时间断言:
作用:检查响应时间是否超出预期时间
配置:预期响应时间

(2)JMeter关联

概念:请求依赖关系,一个请求的响应作为另一个请求的参数进行传递

正则表达式提取器:
作用:可以针对任意格式的响应数据进行提取

配置:变量名

  1. 正则表达式:左边界(.*?)右边界
  2. 模板:性能测试-第04天-掌握Jmeter直连数据库
  3. 匹配数字:1表示第一个值,-1表示全部值,0表示随机

XPath提取器:
作用:可以针对HTML格式的响应数据进行提取

配置:变量名
xpath表达式。//标签,//标签[@属性名=属性值]
匹配数字:1表示第一个值,-1表示全部值,0表示随机

JSON提取器:
作用:可以针对JSON格式的响应数据进行提取
配置:变量名
JSON路径。格式:$.键名.键名

JMeter属性:
作用:跨线程组关联,跨线程组实现数据的传递
函数及调用:

  1. 保存JMeter属性:setProperty —— 放入到BeanShell取样器中执行
  2. 读取JMeter属性:Property —— 放入到第二个线程组的HTTP请求中

步骤:
添加第一个线程组
添加HTTP请求
添加JSON/Xpath/正则表达式提取器 —— 提取数据
添加BeanShell取样器 —— 执行setProperty函数
添加第二个线程组
添加HTTP请求 —— Property函数读取JMeter属性
查看结果树

(3)JMeter脚本录制

原理:JMeter作为代理服务器,所有请求和响应数据都会经过JMeter,Jmeter再还原为脚本

步骤:添加代理服务器,并配置
端口
目标控制器
过滤条件

在PC上设置浏览器代理,指向JMeter代理服务器
启动JMeter代理服务器
在浏览器上操作并还原出脚本

????性能测试工具

直连数据库的作用

性能测试-第04天-掌握Jmeter直连数据库

Jmeter直连数据库:

步骤:
•添加MySQL驱动jar包 -方式一:在测试计划面板点击“浏览…“按钮,将你的JDBC驱动添加进来
-方式二:将MySQL驱动jar包放入到lib/ext目录下,重启JMeter

性能测试-第04天-掌握Jmeter直连数据库


配置数据库连接信息-添加方式:测试计划 --> 线程组–> (右键添加) 配置元件 --> JDBC Connection Configuration

性能测试-第04天-掌握Jmeter直连数据库


性能测试-第04天-掌握Jmeter直连数据库

案例1:

连接tpshop商城数据库获取商品名包含:小米手机5的商品id

性能测试-第04天-掌握Jmeter直连数据库


需求:

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.添加查看结果树