jmeter中使用jdbc参数化
以读取mysql数据库为例
1.下载一个mysql驱动包,最好去mysql官网下载
下载网址:https://dev.mysql.com/downloads/connector/j/
Select Operating Systems:选择Platform independent
然后选择zip包,点击Download。
下载如下:
2.导入mysql驱动包
打开jmeter,新建一个测试计划,选中测试计划,点击浏览,选择上文找到的mysql-connector-java-8.0.17.jar,点击Open就好。
3.连接数据库
先建一个线程组,右击线程组,添加-配置元件-JDBC Connection Configuration
Variable Name for created pool:填写一个连接名称,自定义名称(如818test),后面的JDBC请求中需要用到,以适配连接的是该连接名称的数据库配置。
Database URL:jdbc:mysql://数据库ip:端口号/数据库名
加?serverTimezone=UTC这个是因为,后面JDBC请求不成功,说是时区的问题,所以便加上这个,可能是因为我的mysql驱动包版本比较高。
如:jdbc:mysql://rm-bp1utr02m6tp303p9.mysql.rds.aliyuncs.com:3306/dm_account_00?serverTimezone=UTC
JDBC Driver class:com.mysql.jdbc.Driver(不同的数据库不一样,这个是mysql的)
Username:数据库登录名
Password:数据库登录密码
4.查询数据库获取数据(JDBC请求)
右击线程组,添加-取样器-JDBCRequest
Variable Name of Pool declared对应上文Variable Name for created pool的设置值,如818test
Variable Names:对应sql查询结果的字段值, 字段值有多少个,则对应值就有多少个。如下文查询出name,accountid字段,设置变量名则为【get_accountId】,如有多个变量,用逗号分隔【a,b】
5.查看结果(察看结果树)
右击线程组,添加-监听器-察看结果树
再点击工具栏绿色三角形,运行。
可以看到Text中JDBC Request请求为绿色的,说明请求成功。响应数据为查询数据库的数据。跟数据库查询结果一致。
到这一步只是将数据库中的数据取出来了,具体该如何去使用呢?
取出来的变量通过下标代表第几个数据
如${get_accountId_1}则取得是第一个数据。
如果要遍历数据库中所有数据,则用以下方法: