写点什么

性能测试|JMeter 连接数据库

  • 2023-07-23
    北京
  • 本文字数:1003 字

    阅读完需:约 3 分钟

jmeter 连接 mysql 数据库

总体步骤如下:


  1. 下载 mysql 的 jar 包放入到 jmeter 的 lib 下,然后重启 jmeter

  2. 配置 JDBC Connection Configuration

  3. 配置 JDBC Request

  4. 在请求中引用查询到的结果变量,可以结合计数器取每一个结果值:${_V(tname${index})}

具体实施步骤

  1. 下载 Mysql jdbc 驱动包


尽量保证其版本和你的数据库版本一致,至少不低于数据库版本,否则可能有问题。


mysql 官网下载地址:https://dev.mysql.com/downloads/connector/j/


JDBC 驱动在 mysql 的官网下载:https://dev.mysql.com/downloads/file/?id=477058,不需要注册,直接点击左下角的小字



  1. 在测试计划下面把 JDBC 驱动包导入,如下图



  1. 线程组下添加一个配置元件 JDBC Connection Configuration



  • Variable Name:自定义参数,在 JDBC Request 中会用到

  • Database URL:jdbc:mysql:// 数据库 IP 地址:数据库端口/数据库名称;jdbc:mysql://localhost:3306/mysql?serverTimezone=UTC&characterEncoding=utf-8,注意:?后面的 serverTimezone=UTC&characterEncoding=utf-8 不能缺少,否则会报时区错误。

  • JDBC Driver Class:com.mysql.jdbc.Driver

  • Username:数据库用户名

  • Password:数据库密码


  1. 在添加一个 Sampler:JDBC Request



4.1 由于只需要在数据库中取一次数据,即 jdbc 取样器只需要执行一次,可以使用仅一次控制器;如下图:


配置路径:逻辑控制器——仅一次控制器



  1. 运行之后,数据库会返回某一列下的数据



  1. 在 http 请求中引用 tname 变量名,如果有一列数据返回,引用变量的时候可以输入 ${tname_1},发送请求的参数值就是 周启元



variables names 参数使用方法:


Jmeter 官网的解释是:如果给这个参数设置了值,它会保存 sql 语句返回的数据和返回数据的总行数。假如,sql 语句返回 2 行,3 列,且 variables names 设置为 A,C,那么如下变量会被设置为:


A_#=2(总行数)


A_1=第 1 列,第一行;如上面的变量 ${tname_1};


A_2=第 1 列,第 2 行


C_#=2(总行数)


C_1=第 3 列,第 1 行


C_2=第 3 列,第 2 行


如果返回结果为 0,那么 A_#和 C_#会被设置为 0,其他变量不会设置值。


如果第一次返回 6 行数据,第二次只返回 3 行数据,那么第一次的 6 行数据变量会被清除


可以使用{A_#}、{A_1}...来获取相应的值


  1. 如果想循环数据库返回的值,可以使用计数器,加引用的变量 ${_V(tname${index})};如下图


根据上方数据库返回的 tname 列下有 9 行数据,在计数器中最大值填入 9,在输入一个变量名 index;



在 http 请求中引用数据量返回的变量+计数器的变量:${_V(tname${index})};



  1. 运行结果



获取更多技术资料,请点击!

用户头像

社区:ceshiren.com 微信:ceshiren2021 2019-10-23 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。

评论

发布
暂无评论
性能测试|JMeter连接数据库_霍格沃兹测试开发学社_InfoQ写作社区