如何使用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语句,如下图所示。
- 其余的参数可以不填



运行测试后,如果顺利找到模式,就不会报错
10. 添加"BeanShell断言"作为JDBC Request的子元素

11. 在BeanShell断言中添加如下代码:
如果出错,就会显示断言

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驱动,官方下载链接
如何使用Jmeter批量构造MySQL测试数据的更多相关文章
- 利用java程序构造mysql测试数据
package com.baidu.mysql;import java.sql.*; public class MysqlJdbc { /** * @param args */ public stat ...
- mysql批量插入简单测试数据
mysql批量插入简单测试数据 # 参考网址: https://www.2cto.com/database/201703/618280.html 1.mysql创建测试表 CREATE TABLE ` ...
- 基于表的数据字典构造MySQL建表语句
表的数据字典格式如下: 如果手动写MySQL建表语句,确认麻烦,还不能保证书写一定正确. 写了个Perl脚本,可快速构造MySQL脚本语句. 脚本如下: #!/usr/bin/perl use str ...
- MySQL数据库工具类之——DataTable批量加入MySQL数据库(Net版)
MySQL数据库工具类之——DataTable批量加入数据库(Net版),MySqlDbHelper通用类希望能对大家有用,代码如下: using MySql.Data.MySqlClient; us ...
- PHP批量过滤MYSQL数据库内站外链接和图片
因发现站内很多引用站外文章的链接失效,产生大量的死链接,对于搜索引擎来说是极不友好的,很不利于网站优化,所以站内添加了站外链接过滤功能,对于新加的文章,在添加入库时就自动增加rel="nof ...
- PHP批量替换MySql数据库中的数据内容(替换MySql数据库内容源码)
PHP批量替换MySql数据库内容 UTF-8 1.0版 <?php //声明 //1.本源码开发意图:作者在使用一些CMS建站的时候发现很多CMS把网址写入到数据库了,如果换网址,那么就需要更 ...
- SpringMVC文件上传 Excle文件 Poi解析 验证 去重 并批量导入 MYSQL数据库
SpringMVC文件上传 Excle文件 Poi解析并批量导入 MYSQL数据库 /** * 业务需求说明: * 1 批量导入成员 并且 自主创建账号 * 2 校验数据格式 且 重复导入提示 已被 ...
- 在线批量修改mysql中表结构
在线批量修改mysql中表结构 1.获取要修改的表的表名称登录mysql库,查询出所有表 show tables; 将需要修改表结构的表名称存放到b.txt文件中2.执行修改修改表引擎为InnoDB ...
- JMeter 利用Jmeter批量数据库插入数据
利用Jmeter批量数据库插入数据 by:授客 QQ:1033553122 1. 启动Jmeter 2. 添加 DBC Connection Configuration 右键线程组-> ...
随机推荐
- SCI-hub使用技巧(下载外文文献)
下载外文文献方法指南: (1)首先查找需要下载文献的DOI (2)在Sci-Hub主页搜索框输入URL.DOI或者PMID. (3)点击open即可看见下载界面. 参考文献:https://mp.we ...
- idea 默认全局配置maven,避免每次新建项目都需要指定自己的maven目录
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_28624243/article/details/84199937 File->Oth ...
- Git master合并分支时提示“Already up-to-date”
Git master合并分支时提示"Already up-to-date" 在使用Git把当前分支合并到master提示"Already up-to-date&quo ...
- (三)Spring Boot 官网文档学习之默认配置
文章目录 继承 `spring-boot-starter-parent` 覆盖默认配置 启动器 原文地址:https://docs.spring.io/spring-boot/docs/2.1.3.R ...
- Python socket编程 (2)--实现文件验证登入
可以实现从客户端输入账号和密码然后发送到服务器进行验证,实现用户登入校正操作. 服务器: import socket import json server = socket.socket() serv ...
- 编译内核提示mkimage command not found – U-Boot images will not be built
转載與:http://www.mr-wu.cn/u-boot-tools-binary-package-in-ubuntu/ ubuntu 编译linux kernel时提示: “mkimage” ...
- DEFAULT CURRENT_TIMESTAMP
alter table t_user_channel_info change update_dttm update_dttm timestamp NOT NULL DEFAULT CURRENT_TI ...
- 玩转【Mock.js】,前端也能跑的很溜
现在开发已经是前后端分离了,前端和后端可以同时进行开发,互不影响,但是有些时候后端开发的接口慢于前端,导致前端需要等待后端的接口完成才能完成前后端对接,为了解决这个痛点,出现了模拟接口数据的方案,目前 ...
- .netCore 动态织入
using Microsoft.Extensions.DependencyInjection; using System; using System.Reflection; namespace Aop ...
- .net mvc 迁移到 .netcore
迁移的时候发现,ef6 不能添加 到 .NET Standard2 的类库,因为不兼容, 6 以上的版本只能用于 .net 4.5 以上 只能用别的
