Jmeter之JDBC类型组件
一、背景
在测试过程中,避免不了与数据库打交道,比如数据的校验、数据的准备或者重置操作,又或者对数据库进行增删改查,基于以上诉求,在Jmeter中是如何实现的呢。可使用JDBC类型组件来实现以上功能操作。
二、JDBC类型组件介绍
在Jmeter中,JDBC类型组件有四种
1、JDBC配置元件,属于执行JDBC的必选组件,运行在请求之前,用来做数据库准备相关的工作,如配置连接数据等
2、JDBC前置处理器,运行在请求之前,一般用来做数据准备相关的操作。
3、JDBC Sample,和其他协议的请求是一个级别的,主要用于sql语句测试等操作
4、JDBC后置处理器,注意用于测试结果的校验或者还原数据等操作
JDBC组件使用步骤
1、首先需要将数据库对应的JDBC驱动jar下载放到lib目录下,驱动jar到对应的数据库官网下载即可
2、添加JDBC配置元件---JDBC Connection Configuration组件,用于完成相关的配置工作

常见属性:
Variable Name for created pool,变量名称,用来定义JDBC连接配置的配置名,供后续JDBC请求使用
Connection Pool Configuration:JDBC连接池配置,如果是执行和性能无关的数据操作,则该配置不用做任何变更,但如果是性能测试相关,则要求和中间件的数据库连接池配置保持一致
Database Connection Configuration:数据连接配置(可以参考官方文档进行配置),已mysql为例
database URL :jdbc:mysql://host[:port]/dbname,注意默认情况mysql的端口为3306,Oracle的端口为1521,dbname库名称
如何想一次执行多个语句该如何操作呢?
allowMultiQueries=true,允许混合查询,即一次执行多条sql语句
useUnicode=true&characterEncoding=utf8指定字符编码,解决乱码问题
database URL 更改为jdbc:mysql://host[:port]/dbname?allowMultiQueries=true即可
JDBC Driver class:com.mysql.jdbc.Driver
Usename:数据库用户名
Password:数据库用户名密码
PS:注意权限问题
3、添加对应的JDBC类型组件
根据具体业务需求,添加对应的JDBC 请求(前置、后置)组件

JDBC 请求(前置、后置)组件属性解析:
Variable Name of Pool declare in JDBC Connection Configuration:该处填写的是第二步骤中配置JDBC连接配置组件所定义的连接变量名
SQL Query:要执行的SQL配置,
Query Type:请求类型,类型和要执行的SQL语句匹配
Parameter Values:这个针对Prepared类型的query操作,用来给SQL语句中的问号(?)传值的,如果用多个值,值与值之前使用逗号分隔,该出key实现参数化
PS:带问号的SQL语句预编译SQL语句,执行时将?替换为相应的值,这样效率高且防止SQL注入
Parameter types:用来指定参数的类型,类型、顺序和个数要求和实际的参数保持一致
PS:参数类型一般有,Varchar Integer Double
Variable names:变量名称,是用来存储从数据库中所查询的值,一个变量对应存储查询结果中的一列值,是按顺序一一对应的,即第N个变量对应第N列值,变量之间使用逗号分隔
PS:存储的时候采用的是数组的方式,而且会生出一个隐藏的变量:变量名_#=值的个数,#表示第几行的值
Jmeter之JDBC类型组件的更多相关文章
- jmeter之JDBC类组件
~什么是JDBC?:全称名为Java DataBase Connectivity,(java数据库连接),在jmeter中是一种可以远程操作数据库的一类组件. ~jmeter如何操作数据库?:jmet ...
- Jmeter之JDBC Request使用方法(oracle)
JDBC Request: 这个sampler可以向数据库发送一个jdbc请求(sql语句),它经常需要和JDBC Connection Configuration 配置元件一起配合使用. 目录: 一 ...
- Jmeter 中JDBC request 详解 !
JDBC Request: 这个sampler可以向数据库发送一个jdbc请求(sql语句),它经常需要和JDBC Connection Configuration 配置元件一起配合使用. 目录: 一 ...
- Jmeter中JDBC Request和BeanShell PostProcessor的结合使用(SQL模糊查询)
[前言] 今天记录一下Jmeter中JDBC Request和BeanShell PostProcessor的结合使用的方法(SQL模糊查询) [步骤] 1.下载对应数据库的驱动包到jmeter安装目 ...
- JMeter处理jdbc请求后的响应结果
JMeter如果进行JDBC请求,请求后的响应结果如何给下一个请求用(也就是传说中的关联),于是研究了一下,下面将学习的成果做个记录: 1.添加 "JDBC Connection Confi ...
- Jmeter发送JDBC请求
下午花了两个小时研究了一下Jmeter发送JDBC请求,现在把基本操作流程分享一下. 做JDBC请求,首先需要两个jar包:mysql驱动-mysql-connector-java-5.1.13-bi ...
- MyBatis之Mapper XML 文件详解(四)-JDBC 类型和嵌套查询
支持的 JDBC 类型为了未来的参考,MyBatis 通过包含的 jdbcType 枚举型,支持下面的 JDBC 类型. BITFLOATCHARTIMESTAMPOTHERUNDEFINEDTINY ...
- jmeter使用JDBC连接数据库
jmeter使用JDBC的配置元件连接数据库,通过sql语句查询需用到的数据 配置元件名称:JDBC connection configuration,使用前,需导入mysql-connector-j ...
- jmeter使用jdbc获取注册验证码进行注册
自动化工具测试注册功能时,往往会遇到验证码,这个烦人的验证码怎么能够解决掉呢? 通常有两种方法 让开发禁用注册码,或在测试环境写个固定的验证码 在jmeter中用 jdbc获取数据库中验证码 今天通过 ...
随机推荐
- 用 Python 把微信小程序的二维码转化成图片
官方文档 import cString import requests from tornado.web import authenticated, RequestHandler URL = 'htt ...
- java当中JDBC当中请给出一个sql server的stored procedure例子
3.sql server的stored procedure例子: import java.sql.*;public class StoredProc0 {public static void main ...
- win10安装Ubuntu,用Xshell连接
一.安装Ubuntu 安装Ubuntu,安装过程就不详细说了,我是从微软商店下载的Ubuntu安装,没有用VMware,想用Xshell连接Ubuntu,中间一直出问题,现在解决,总结一下. 二.配置 ...
- 【Leetcode】746. Min Cost Climbing Stairs
题目地址: https://leetcode.com/problems/min-cost-climbing-stairs/description/ 解题思路: 官方给出的做法是倒着来,其实正着来也可以 ...
- shiro是什么?
是什么? Shiro是一个非常强大的.易于使用的.开源的.权限框架.它包括了权限校验.权限授予.会话管理.安全加密等组件. 为什么要使用shiro? 如果你是需要设计RBAC(Role Based A ...
- JS 中document.write()的用法和清空的原因浅析(转)
转自:https://www.jb51.net/article/129715.htm
- jwt 无状态分布式授权
基于JWT(Json Web Token)的授权方式 JWT 是JSON风格轻量级的授权和身份认证规范,可实现无状态.分布式的Web应用授权: 从客户端请求服务器获取token, 用该token 去访 ...
- LINUX CGROUP总结
简介: Linux CGroup全称Linux Control Group, 是Linux内核的一个功能,用来限制,控制与分离一个进程组群的资源(如CPU.内存.磁盘输入输出等).这个项目最早是由Go ...
- 【转载】 C#中使用Count方法获取List集合中符合条件的个数
很多时候操作List集合的过程中,我们需要根据特定的查询条件,获取List集合中有多少个实体对象符合查询条件,例如一批产品的对象List集合,如果这批产品的不合格数量大于10则重点备注.在C#中可以自 ...
- OpenStack kilo版(7) 部署dashboard
安装dashboard root@controller:~# apt-get install openstack-dashboard 配置 /etc/openstack-dashboard/loc ...