前言:

当我们进行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断言中添加如下代码:

如果出错,就会显示断言

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测试数据的更多相关文章

  1. 利用java程序构造mysql测试数据

    package com.baidu.mysql;import java.sql.*; public class MysqlJdbc { /** * @param args */ public stat ...

  2. mysql批量插入简单测试数据

    mysql批量插入简单测试数据 # 参考网址: https://www.2cto.com/database/201703/618280.html 1.mysql创建测试表 CREATE TABLE ` ...

  3. 基于表的数据字典构造MySQL建表语句

    表的数据字典格式如下: 如果手动写MySQL建表语句,确认麻烦,还不能保证书写一定正确. 写了个Perl脚本,可快速构造MySQL脚本语句. 脚本如下: #!/usr/bin/perl use str ...

  4. MySQL数据库工具类之——DataTable批量加入MySQL数据库(Net版)

    MySQL数据库工具类之——DataTable批量加入数据库(Net版),MySqlDbHelper通用类希望能对大家有用,代码如下: using MySql.Data.MySqlClient; us ...

  5. PHP批量过滤MYSQL数据库内站外链接和图片

    因发现站内很多引用站外文章的链接失效,产生大量的死链接,对于搜索引擎来说是极不友好的,很不利于网站优化,所以站内添加了站外链接过滤功能,对于新加的文章,在添加入库时就自动增加rel="nof ...

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

    PHP批量替换MySql数据库内容 UTF-8 1.0版 <?php //声明 //1.本源码开发意图:作者在使用一些CMS建站的时候发现很多CMS把网址写入到数据库了,如果换网址,那么就需要更 ...

  7. SpringMVC文件上传 Excle文件 Poi解析 验证 去重 并批量导入 MYSQL数据库

    SpringMVC文件上传 Excle文件 Poi解析并批量导入 MYSQL数据库  /** * 业务需求说明: * 1 批量导入成员 并且 自主创建账号 * 2 校验数据格式 且 重复导入提示 已被 ...

  8. 在线批量修改mysql中表结构

    在线批量修改mysql中表结构 1.获取要修改的表的表名称登录mysql库,查询出所有表 show tables; 将需要修改表结构的表名称存放到b.txt文件中2.执行修改修改表引擎为InnoDB ...

  9. JMeter 利用Jmeter批量数据库插入数据

    利用Jmeter批量数据库插入数据   by:授客 QQ:1033553122 1.   启动Jmeter 2.   添加 DBC Connection Configuration 右键线程组-> ...

随机推荐

  1. 高级UI-CardView

    CardView是在Android 5.0推出的新控件,为了兼容之前的版本,将其放在了v7包里面,在现在扁平化设计潮流的驱使下,越来越多的软件使用到了CardView这一控件,那么这篇文章就来看看Ca ...

  2. git push时出现大文件的处理方法

    最近在提交项目时出现报错 文件限制只能100M,但是里面有个文件202M,超过了码云的限制. 所以顺手就把这个文件删除了 然后发现还是同样的报错,反复检查目录还是不行,找了资料说,需要git rm 命 ...

  3. kafka为什么吞吐量高,怎样保证高可用

    1:kafka可以通过多个broker形成集群,来存储大量数据:而且便于横向扩展. 2:kafka信息存储核心的broker,通过partition的segment只关心信息的存储,而生产者只负责向l ...

  4. LeetCode 718. 最长重复子数组(Maximum Length of Repeated Subarray)

    718. 最长重复子数组 718. Maximum Length of Repeated Subarray 题目描述 给定一个含有 n 个正整数的数组和一个正整数 s,找出该数组中满足其和 ≥ s 的 ...

  5. [转帖]进程上下文频繁切换导致load average过高

    进程上下文频繁切换导致load average过高 2016年6月26日admin发表评论阅读评论 http://www.361way.com/linux-context-switch/5131.ht ...

  6. Jenkins+maven+gitlab自动化部署之docker发布sprint boot项目(七)

    Jenkins发布docker应用与发布java应用配置基本一致,需要配置Dockerfile及构建的步骤,步骤如下: 1.jenkins主机构建应用为jar包 2.jenkins主机把生产的jar包 ...

  7. 【算法】js实现最短时间走完不同速度的路程

    题目: 现在有一条公路,起点是0公里,终点是100公里.这条公路被划分为N段,每一段有不同的限速.现在他们从A公里处开始,到B公里处结束.请帮他们计算在不超过限速的情况下,最少需要多少时间完成这段路程 ...

  8. 解决idea tomcat乱码问题

    解决idea Server Output.TomcatLocalhost Log.Tomcat Catalina Log控制台乱码问题 问题原因:编码不一致,tomcat启动后默认编码UTF-8,而w ...

  9. PAT(B) 1071 小赌怡情(Java)

    题目链接:1071 小赌怡情 (15 point(s)) 题目描述 常言道"小赌怡情".这是一个很简单的小游戏:首先由计算机给出第一个整数:然后玩家下注赌第二个整数将会比第一个数大 ...

  10. springboot笔记03——quickstart程序原理

    一.前言 一个quickstart程序仅仅让我们初步了解一个框架,我们还需要透过现象看本质才能学好一个框架.所以这篇文章分析一下我上次写的springboot的入门程序. 二.原理分析 1.依赖分析 ...