由于项目的缘由,假设咱们要实现以下要求:从数据库的用户表里获取用户信息,并做为参数所有传递给登陆请求,分别完成登陆操做。java
01Jmeter链接数据库mysql
一、添加JDBC Connection Configurationsql
(右键测试计划-->配置元件-->JDBC Connection Configuration)数据库
DataBase URL: oop
jdbc:mysql://192.168.88.130:3306/dataname?useUnicode=true&characterEncoding=utf-8测试
1)192.168.88.130:3306为数据库的地址和端口号;dataname为数据库名编码
2)useUnicode=true&characterEncoding=utf-8 指定字符的编码解码格式utf-8spa
JDBC Driver Class :
线程
com.mysql.jdbc.Driver 此为mysql数据库的驱动3d
Username: 数据库的登陆用户名
Password: 数据库的密码
下载好mysql的驱动包(mysql-connector-java-5.1.7-bin.jar),
放到jmeter的lib目录下
选中测试计划,添加mysql驱动包
02添加Jdbc请求
03循环读取库的用户信息
接下来就要思考怎么将查库获得的用户手机号,做为参数传递给下一个登陆请求。
这里须要引用到 ForEach控制器
输入变量的前缀:phone;
从以前的jdbc request设置的变量得知,咱们要取的值为phone_一、phone_二、phone_3......,因此这里输入phone
Start index for loop:0;
变量循环启动的索引,第一个元素起始索引+1
End index for loop:6;
变量循环结束的索引。
因此这里是取值phone_一、phone_二、...、phone_6
输出的变量名称:t_phone;
用于替换循环下的请求的变量
三、运行后,查看结果,成功从库里获取了前6个用户手机号,并分别成功登陆
以上这种处理须要自行查库获知总共有多少个用户,再去设置ForEach控制器的End index for loop值(设置为用户总数),就能够将库里全部用户进行参数传值登陆了;
固然能够,先用jdbc request查出用户数,再直接对ForEach控制器的End index for loop值进行设置就ok了
实操:
本文由柠檬班土豆老师原创