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

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

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

  • Jmeter 3.3
  • MySQL 5.7.18 Community Edition
  • Java8,在写本篇博客时,Java 9已经发布,不过现在还不建议使用,——2018.3.1

笔者已经分享到百度网盘,  https://pan.baidu.com/s/1i5U58mp

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

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

一、在JMeter中配置数据库连接

1. 下载MySQL-Connector/J 5.1.42驱动,MySQL官方下载链接: https://dev.mysql.com/downloads/connector/j/ ,下载zip或者.tar.gz都可以2. 解压压缩包

3. 拷贝xx到jmeter安装目录的lib文件夹下:

二、配置JMeter的DB Connection Configuration

4. 启动JMeter,添加JDBC Connection Configuration 元素,操作方法:线程组——>添加——>配置元件——>JDBC Connection Configuration。用于配置JMeter连接参数。

5. 填写必要的参数信息,注意Variable Name非常重要,必填,不能省略

6. 发送数据请求,添加JDBC Sampler

7. 配置JDBC Request

  • 添加Variable Name,建议第一步就添加
  • 设置SQL语句的"查询类型",Select Statement表示这个请求会从数据库取回数据。
  • 设置Result variable name,这个变量会存储从数据库返回的所有字段和字段的值。这个变量在线程组中必须唯一。如果这个变量被多个JDBC Request使用,那么只存储上一次查询的内容。
  • 新建一个SQL语句,如下图所示。
  • 其余的参数可以不填

8. 添加一个"查看结果树",运行测试

9. 添加"响应断言"作为JDBC Request的子元素

  • 运行测试后,如果顺利找到模式,就不会报错

10. 添加"BeanShell断言"作为JDBC Request的子元素

11. 在BeanShell断言中添加如下代码:

如果出错,就会显示断言

原文地址:https://www.cnblogs.com/samgxw/p/9425243.html

时间: 2024-11-12 06:20:36

如何使用Jmeter批量构造MySQL测试数据的相关文章

使用Jmeter构造MySQL测试数据

前言: 当我们进行API测试.Web Service或者其他系统模块测试时,你可能需要从数据库获取并记录数据.这些测试的目的是检查数据库中指定的数据,或者向数据库添加指定的数据,这篇文章会展示使用JMeter如何检查.更新或者新建数据.你可以基于这些例子,实现更加复杂的数据库交互测试. 在本篇博客中,我们将使用下列软件: Jmeter 3.3 MySQL 5.7.18 Community Edition Java8,在写本篇博客时,Java 9已经发布,不过现在还不建议使用,——2018.3.1

如何使用Jmeter批量造数据?

测试有时需要准备测试数据,需要大量造数据时手动造数据效率是比较慢的,可以考虑用Jmeter批量构造数据,这里使用到的是Jmeter配置原件“CSV数据文件设置” 步骤1:添加CSV数据文件设置,填写文件目录 以下是CSV文件内容,第一行为变量名称,可通过${mobile}进行调用 步骤2:将需要动态获取的值用变量名称${mobile}替换 步骤3:这里设置线程数,如果这里不改,还是1的话,只会执行csv文件的第一行 原文地址:https://www.cnblogs.com/winxpplus/p

批量 kill mysql 中运行时间长的sql

转自:思齐-批量 kill mysql 中运行时间长的sql 以下内容来自mysql手册: 13.5.5.3. KILL语法KILL [CONNECTION | QUERY] thread_id每个与mysqld的连接都在一个独立的线程里运行,您可以使用SHOW PROCESSLIST语句查看哪些线程正在运行,并使用KILL thread_id语句终止一个线程. KILL允许自选的CONNECTION或QUERY修改符: · KILL CONNECTION与不含修改符的KILL一样:它会终止与给

生产环境批量修改mysql引擎

生产环境中如何批量修改MySQL引擎 一般来说这样的需求并不多见,但是偶尔也会有,在这里我们推荐使用sed对备份的内容进行引擎转换的方式,当然了,不要忘记修改my.cnf使之支持并能高效的使用对于的引用. 方法1 mysql命令语句修改 创建后引擎更改,5.0版本之后 alter table lvnian engine=innodb; alter table lvnian engine=MyISAM; 其中lvnian是表名 更改实例 ##############################

批量修改mysql数据库表前缀。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

批量建立MySQL表

今天遇到MySQL的分表问题,可以采用脚本方式循环建立新的表,也可以使用sql建立.下面以建立player_0到player_9的语句为例. delimiter // CREATE procedure create_table() BEGIN DECLARE `@i` int(11); DECLARE `@sqlstr` varchar(2560); SET `@i`=0; WHILE `@i` < 10 DO SET @sqlstr = CONCAT( "CREATE TABLE pla

批量删除mysql一个库所有数据表方法

批量删除mysql一个库所有数据表方法 删除表的命令 drop table 表名; 如果有100张表,手工执行100次,想想就崩溃. 下面提供一个使用information_schema库的方案来批量删除数据表:SELECT CONCAT('drop table ',table_name,';') FROM information_schema.`TABLES` WHERE table_schema='数据库名'; 如通过这条命令来得到drop table 表名;这样的语句,然后批量执行.mys

PHP批量替换MySql数据库中的数据内容(替换MySql数据库内容源码)

PHP批量替换MySql数据库内容 UTF-8 1.0版 <?php //声明 //1.本源码开发意图:作者在使用一些CMS建站的时候发现很多CMS把网址写入到数据库了,如果换网址,那么就需要更新数据库中的老网址,如果一个一个修改,很不方便,所以开发此源码,供大家学习或使用: //2.源码开发者:杨波: //3.源码开发者联系QQ:773003231: //4.源码开发者博客:http://www.cnblogs.com/phpyangbo/: //5.源码开放性:任何人都可以随意更改或使用本源

php从memcache读取数据再批量写入mysql的方法

这篇文章主要介绍了php从memcache读取数据再批量写入mysql的方法,可利用memcache缓解服务器读写压力,并实现数据库数据的写入操作,非常具有实用价值,需要的朋友可以参考下. 用 Memcache 可以缓解 php和数据库压力下面代码是解决高负载下数据库写入瓶颈问题,遇到最实用的:写入ip pv uv的时候,用户达到每分钟几万访问量,要记录这些数据,实时写入数据库必定奔溃. 用以下技术就能解决,还有如用户注册,同一时间断内,大量用户注册,可以缓存后一次性写入到数据库,代码如下 pu