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 之 前端开发( JavaScript变量、数据类型、内置对象、运算符、流程控制、函数)
11.4 JavaScript 11.41 变量 1.声明变量的语法 // 1. 先声明后定义 var name; // 声明变量时无需指定类型,变量name可以接受任意类型 name= " ...
- html使用网络图片防盗问题解决
解决mkdocs图片防盗问题 前言 我在mkdocs上的图片是使用博客园上的,部署后无法正常显示.度娘了一下,只用在<head>后插入<meta name="referre ...
- beego入门笔记
Beego Learn Note 示例环境在Deepin系统下. deepin 15.9.3 ├── Beego : 1.11.2 ├── GoVersion : go1.12.4 ├── GOOS ...
- PB计算两个日期相差月份(计算工龄)
ll_intime_y = year(date(this.object.in_factory_day[row])) ll_intime_m = month(date(this.object.in_fa ...
- PB笔记之数据窗体分组合计列
- Make Square CodeForces - 1028H (dp)
大意: 若一个序列存在两个数的积为完全平方数, 则为好序列. 给定序列$a$, 每次询问求子区间$[l,r]$最少修改多少次可以成为好序列, 每次修改可以任选素数$p$, 任选一个数乘或除$p$. $ ...
- 如何做好PPT
为什么要做ppt 全图型PPT,一张大图做背景,少量的文字---PPT大师Garr Renolds极力推崇的风格 半图型PPT PTT是为了和你的"客户"有效的沟通 好的PPT G ...
- docker registry-v2 搭建私有仓库
参考官方文档:https://docs.docker.com/registry/deploying/ 参考 :http://www.tuicool.com/articles/6jEJZj 本例子使用两 ...
- linux高频操作: host,用户管理,免密登陆,管道,文件权限,脚本,防火墙,查找
1. 修改hosts和hostname 2. 用户管理 3. 免秘登陆 4. 文件末尾添加 >> 5. 设置可执行文件 6. 任何地方调用 7. Centos6 永久关闭防火墙 8. Ce ...
- 二、openfeign生成并调用客户端动态代理对象
所有文章 https://www.cnblogs.com/lay2017/p/11908715.html 正文 上一篇文章中,我们了解到了@FeignClient注解的接口被扫描到以后,会生成一个Fe ...