JMeter连接Mysql数据库
下载Mysql的驱动:
https://dev.mysql.com/downloads/connector/
选择:Connector/J

选择如下:

选择:No thanks,just start my download 进行下载

解压后放到 jmeter-3.3/lib

测试Mysql数据库

线程组--->配置元件-->JDBC Connection Configuration中设置

PS:Variable Name 必须填写方便后面调用;
Database URL :jdbc:mysql:// 数据库ip地址+端口/数据库名称?serverTimezone=UTC 除了ip地址+端口/数据库名称,其它都是固定格式;
JDBC Driver class :com.mysql.jdbc.Driver 固定搭配格式
线程组-->添加Sampler--->JDBC Request

PS:Variable Name : JDB Connection Configuration中定义的变量
写入SQL语句进行测试;
线程组-->添加-->监听器-->查看结果树

如图:连接成功,进行场景设计就可以进行测试了。
实战
例1:需求:通过读取数据库中性别,执行男人访问电子商品的请求,女人访问化妆品的请求;
数据库test中userinfo:字段id , name,sex(性别通过0和1表示男女),age ;
线程组中通过配置csv来获取sql语句中where id=${id} 的值,csv中id必须存在于数据库中;
场景1:线程数1 循环5次 场景2:线程数5 循环1次 都可以实现男人查看3次,女人查看2次;
真正性能测试时使用场景1
左侧

CSV Data Set Config

PS:id_d.csv中:

JDBC数据库连接配置:

JDBC数据库请求

sex输出 :sex_#=5 表示共5条 sex_1=0 sex_2=1 sex_3=0 sex_4=1 sex_5=0
sexAll输出:sexAll=[{sex=0}, {sex=1}, {sex=0}, {sex=1}, {sex=0}]
如果(if)控制器
sex_1==0即男人就服务if控制器下面的请求


如果(if)控制器
sex_1==1即女人


例2:一个线程通过添加循环控制器输出:男人查看电子商品3次请求,女人查看化妆品2次请求
重点掌握计算器和循环控制器的使用
性能测试时不能用这种方法

JDBC数据库连接配置不变
JDBC数据库请求 :sql语句修改为: select sex from userinfo
计数器:

如果if控制器(男):条件使用字符串拼接 :${__V(sex_${count})}==0
如果if控制器(女):条件使用字符串拼接 :${__V(sex_${count})}==1
循环控制器:循环次数 设置 ${sex_#}
浙公网安备 33010602011771号