性能测试工具 零基础测开学习 22——JMeter 直连数据库 + 逻辑控制器

EternalRights · 2026年01月23日 · 161 次阅读

前言

        测试人员绕不开的数据库,在性能测试 JMeter 中也如此。而逻辑控制器则能更好的去组织 JMeter 脚本。

        若没有 JMeter 基础,请点击前往:零基础测开学习 19——JMeter 基础

        若不了解 JMeter 经典组件与参数化,请点击前往:零基础测开学习 20——JMeter 三个重要组件 + 参数化

        若不了解 JMeter 必不可少的断言或者是特定场景下至关重要的关联,请点击前往:零基础测开学习 21——JMeter 断言 + 关联


JMeter 直连数据库

基本概念

直连数据库的使用场景

  • 用作请求的参数化:例如,登录时需要用到的用户名,可以从数据库中查询获取
  • 用作结果的断言:例如,添加购物车下订单,检查接口返回的订单号,是否与数据库中的订单号一致
  • 清理垃圾数据:例如,添加商品(商品名、编号等不能重复),再执行该脚本不能成功,需要在下次执行前删除该商品数据
  • 准备数据测试:例如,通过数据库来准备大量(几十万条)的性能测试数据

关键配置

  • 添加 MySQL 驱动 jar 包
    • 方式一:将测试计划面板点击 “浏览...” 的按钮,将你的 JDBC 驱动添加进来
    • 方式二:将 MySQL 驱动 jar 包放入到 lib / ext 目录下,重启 JMeter
  • 配置数据库连接信息
    • 添加方式:测试计划——>线程组——>(右键添加) 配置元件——>JDBC Connection Configuration

Variable Name:MySQL 数据库连接池名称(JDBC 请求时要引用)
Database URL:组成:协议 + 数据库 IP + 数据库端口 + 连接的数据库名称
JDBC DRIVER class:com.mysql.jdbc.Driver(MySQL 驱动包位置固定格式——下拉框选择)
Username:root(连接数据库用户名,如实填写)
Password:(MySQL 数据库密码,如实填写,如果密码为空不写)

  • 添加 JDBC 请求 添加方式:测试计划——>线程组——>取样器——>JDBC Request

Variable Name:数据库连接池的名字,需要与 JDBC Connection Configuration 的 Variable Name Bound Pool 名字保持一致

Query Type:

  • 查询操作:选择 “Select Statement”
  • 增加、删除、修改操作:选择 “Update Statement”

Query:填写的 SQL 语句,末尾不要加 “;”
Variable names:保存 SQL 语句返回结果的变量名


JMeter 直连逻辑控制器

如果(If)控制器

作用

If 控制器用来控制它下面的测试元素是否运行

位置

测试计划——>线程组——>(右键添加) 逻辑控制器——>如果 (If) 控制器

参数介绍

循环控制器

作用

通过设置循环次数,来实现循环发送请求

位置

测试计划——>线程组——>(右键添加) 逻辑控制器——>循环控制器

参数介绍

ForEach 控制器

作用

一般和用户自定义变量或者正则表达式提取器一起使用,读取返回结果中一系列相关的变量值。该控制器下的取样器都会被执行一次或多次,每次读取不同的变量值。

位置

测试计划——>线程组——>(右键添加) 逻辑控制器——>ForEach 控制器

参数介绍

输入变量前缀:要读取的输入变量的固定前缀
开始循环字段:要读取的输入变量的后缀数字的最小值 - 1(例如:用户定义的变量中,命名规则为:前缀_编号,这样组成一个 “列表”,即类似于索引访问的形式进行读取)
结束循环字段:要读取的输入变量的后缀数字的最大值
输出变量名称:读取输入变量的值后保存的新变量名,用于后续 HTTP 请求来引用


后记

        第一次实习,也是我第一次来北京,以前神往的北京,总是会因为首都的地位而笼罩一层神圣的光辉,但如今已经在北京安定了一个月,所以现如今的我也能正视眼下的一切,不再觉得有何特殊。

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册