五、jMeter之连接数据库MySQL

一、连接数据库

1.准备环境

下载mysql-connector的jar包放到jMeter的lib文件夹下。

创建好我的测试数库students,table students,ID自增

 

 

2.添加测试计划-线程组--config element-jdbc connection Configuration

connection pool configiont

 database URL:jdbc:mysql://域名:端口/数据库?参数

 max number of connection:数据库最大连接数

max wait(ms):连接等待时长

Time between evction runs(ms):连接时长

auto commit:自动提交

Transaction Isolation:事务间隔级别设置

connection validation by pooltest while Idle:连接空闲时是否从连接池中去除

soft min Evictable idle time:校验时间间隔

validation query:验证查询,检验连接是否有效,不同数据类型不同。

3.添加JDBC Rquest

 

 

 parameter values:参数化数据变量名或者值(多个变量如何引用?)

parameter types:参数化数据类型(要和数据库对齐)

variable names:存放select结果

result variable names:存放select结果集

query timeout(s):查询超时时间

limit ReultSet:

handle Resultset:定义如何处理callable statement语句返回的结果。

Cannot create PoolableConnectionFactory (The server time zone value...错误,由于数据库没有设置时区引起的,在请求url后面加?serverTimezone=UTC解决啦!

二、insert之单行插入和多行插入

1.插入单行

a.添加JDBC connector configuration

b.sampler-jdbc request,注意query type选择update statement

 

 2.插入多行

a.添加JDBC connector configuration,注意数据库URL后要加allowMultiQueries=True

 

 

b.sampler-jdbc request,注意query type选择prepared update statement

 

3.参数化

参数化可以使用csv数据导入、函数或者jdbc request中参数值的方式,这里我先试用csv函数助手,name和sex使用csv数据导入,tel用randomstring

a.创建一个线程组,循环次数4

 

b.添加jdbc connector conf和JDBC request。这里同插入单行语句,不再赘述

c.给request添加一个csv data set config

 

 d.手机号码前3位固定为150,后八位用函数助手-randomstring随机生成

 

 e.引用上述变量

 

 f.运行后,table数据如下

三、数据操作之delete

创建测试计划等如上,不再赘述。批量删除可以借助参数化或者多条语句。

 jdbc request实现参数化

a.query type-prepared update statement

b.sql语句中,参数的位置用[?]代替

c.parameter values:值或者变量名,这里使用值

parameter types:参数类型,与我的数据库对齐,char型

d.执行成功,数据库这条数据被成功删除啦~

 

 

 

四、数据操作之update

a.创建测试计划等如上,不再赘述。如遇到乱码问题,可以在JDBC Connection Conf的请求URL后加上charactorEncoding=数据库编码格式

 

 

 

 

 

五、数据库操作之select

 

 

 

 

1.单行查询、多行查询类似前面的单行和多行更新数据,注意的是,多行查询的时候,query type-prepared select statement在结果树中只能查看到一条结果,如果需要查看所有,需要选择callable statement.

2.保留查询结果

1.创建测试计划、添加sampler、listener,variable name用于存放查询的结果变量名,如果有多个变量,用逗号隔开。注意query type,我这里其实选错了,运行时报错。应该是select statement

 

 

 可以看到运行结果 variable_#=2,指的是返回的总行数

 

 3.保留结果集

设置results variable name,此时返回的是列表,元素的字典。

 

 

 

 结果集只有一个,存放查询的所有结果。如果设置results variable name有多个,运行不会报错,但是两个变量的值的一样的。

 

 

 

posted @ 2020-04-19 23:08  Cc905  阅读(527)  评论(0编辑  收藏  举报