性能测试|JMeter连接数据库

举报
霍格沃兹测试开发 发表于 2023/01/13 17:50:43 2023/01/13
【摘要】 jmeter连接mysql数据库总体步骤如下:下载mysql的jar包放入到jmeter的lib下,然后重启jmeter配置JDBC Connection Configuration配置JDBC Request在请求中引用查询到的结果变量,可以结合计数器取每一个结果值:{__V(tname_{index})} 具体实施步骤下载Mysql jdbc驱动包尽量保证其版本和你的数据库版本一致,至...

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. 运行结果

在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。