如何使用Jmeter批量构造MySQL测试数据

前言:

当我们进行API测试、WebService或者其他系统模块测试时,你可能需要从数据库获取并记录数据。这些测试的目的是检查数据库中指定的数据,或者向数据库添加指定的数据,这篇文章会展示使用JMeter如何检查、更新或者新建数据。你可以基于这些例子,实现更加复杂的数据库交互测试。

在本篇博客中,我们将使用下列软件:

  • Jmeter3.3
  • MySQL 5.7.18 Community Edition
  • Java8

在进行下面的实验时,请保证以下条件满足:

  • MySQL数据库已经成功安装,并可以正常访问
  • 有MySQL的一个可用帐号
  • Java和JMeter等工具配置正确

一、在JMeter中配置数据库连

1、下载MySQL-Connector/J 5.1.42驱动,下载链接:
下载链接,下载zip或者.tar.gz都可以
如何使用Jmeter批量构造MySQL测试数据
2、解压压缩包
如何使用Jmeter批量构造MySQL测试数据
3、拷贝mysql-connector-java-5.1.45-bin.jar到jmeter安装目录的lib文件夹下:
如何使用Jmeter批量构造MySQL测试数据

二、配置JMeter的DB Connection Configuration

1、启动JMeter,添加JDBC Connection Configuration 元素,操作方法:线程组——>添
加——>配置元件——>JDBC Connection Configuration。用于配置JMeter连接参数。
如何使用Jmeter批量构造MySQL测试数据
2、填写必要的参数信息,注意Variable Name非常重要,必填,不能省略
需要添加:
Database URL: jdbc:mysql://localhost:3306/test
JDBC Driver class:com.mysql.jdbc.Driver
Username:用户名,我这里是root
Password:密码
如何使用Jmeter批量构造MySQL测试数据
3、发送数据请求,添加JDBCSampler
如何使用Jmeter批量构造MySQL测试数据
4、配置JDBC Request,

  • 添加VariableName,建议第一步就添加
  • 设置SQL语句的“查询类型”,SelectStatement表示这个请求会从数据库取回数据。
  • 设置Result variable name,这个变量会存储从数据库返回的所有字段和字段的值。这个变量在线程组中必须唯一。如果这个变量被多个JDBC + Request使用,那么只存储上一次查询的内容。
  • 新建一个SQL语句,如下图所示。
  • 其余的参数可以不填
  • 如何使用Jmeter批量构造MySQL测试数据
    5、添加一个“查看结果树”,运行测试
    如何使用Jmeter批量构造MySQL测试数据
    6、添加“响应断言”作为JDBCRequest的子元素
    如何使用Jmeter批量构造MySQL测试数据
    运行测试后,如果顺利找到模式,就不会报错
    7、 添加“BeanShell断言”作为JDBCRequest的子元素
    如何使用Jmeter批量构造MySQL测试数据
    8、在BeanShell断言中添加如下代码:
    如何使用Jmeter批量构造MySQL测试数据
    如果出错,就会显示断言
    如何使用Jmeter批量构造MySQL测试数据
    Demo文件:使用Jmeter构造MySQL测试数据.jmx

参考链接:
[1] https://www.blazemeter.com/blog/mysql-database-and-jmeter-how-to-test-your-connection这篇博客质量很高,非常建议阅读。
[2] https://dev.mysql.com/downloads/connector/j/ MySQL驱动,官方下载链接