自动化mysql

Jmeter用于JDBC请求测试

2020-02-06  本文已影响0人  佛系小懒

前置条件

以mysql为例进行讲解,前置:需将mysql-connector-java-X.X.X-bin.jar拷贝到Jmeter根目录的lib目录下

创建线程组

添加JDBC连接配置 右键→Add→ Configuration Element→ JDBC Connection Configuration

属性名描述

Variable name for created pool:唯一标识待链接DB的配置,用于定义JDBC请求中的配置信息

Max Number of Connections:最大连接数(连接池的配置)

Max Waits(ms):最长等待时间(连接池的配置)

Time Between Eviction Runs(ms):在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位.如果设置为非正数,则不运行空闲连接回收器线程

Auto Commit:自动提交 true 或false(连接池的配置)

Transaction Isolation:事务隔离级别(连接池的配置)

Database URLjdbc:mysql://XXXXXX:3306/cloud

DBC Driver class:com.mysql.jdbc.Driver

Username:用户名

Password:密码

创建JDBC请求

执行操作:Add → Sampler → JDBC Request

针对Sql Query中的query type:对于Insert、Update、Delete语句,需要设置Query Type为:Update Statement 否则会出现实际表中未插入数据的情况

属性名描述

Variable name:需要与JDBC Connection Configuration的Variable Name Bound Pool名字保持一致

Query:填写的sql语句未尾不要加“;”

Parameter valus:参数值

Parameter types:参数类型Javadoc for java.sql.Types

Variable names:保存sql语句返回结果的变量名

Result variable name:创建一个对象变量,保存所有返回的结果

Query timeout:查询超时时间

Handle result set:定义如何处理由callable statements语句返回的结果

JDBC请求参数化

在测试计划中定义变量,在sql query中通过${变量名}引用变量

在sql query中通过?作为占位符,传递参数值与参数类型;变量使用${xxxxxx}

添加吞吐量控制器

进行分布式加压策略: add-> 选择Logic Controller -> Throughput Controller

Throughput Controller中的througput设置为该线程组中的针对该接口的请求数占比

具体参见 Test-distribute.jmx 被注释掉的Thread Group是采用非分布式方式加压进行的

上一篇 下一篇

猜你喜欢

热点阅读