一、Jmeter连接数据库,下载数据库连接驱动
MySQL数据驱动mysql jdbc驱动包百度云盘下载地址
链接:https://pan.baidu.com/s/1uxRuyssQkJN2pIuLyO_hcg
提取码:wt46
下载完成,将jar包放到jmeter目录E:\apache-jmeter-4.0\apache-jmeter-4.0\lib,并重新启动Jmeter。
二、连接数据库,添加JDBC Connection Configuration
配置数据库信息
1)Variable Name不能为空,名称为与后续JDBC Request中的名称保持一致就OK(eg:mysql)
2)DataBase URL 格式为:jdbc:mysql://服务器ip:端口号/数据库
(eg:jdbc:mysql://47.115.157.17:3306/llb0ll_onli01)
在数据库后加参数?allowMultiQueries=true,可同时执行多条mysql语句;否则报错
3)JDBC Driver Class:com.mysql.jdbc.Driver
4)输入数据库的用户名和密码
image.png
三、创建线程组,线程组下添加JDBC Request
注意:
1.Variable name如查询多个字段则用英文,隔开(eg:username,password)
四、添加循环控制器,通过sql查询出的结果mobile取值
image.png循环次数:以mobile取值,参数化变量
五、循环控制器下,添加计数器
image.png六、计数器下添加一个请求
image.png变量的嵌套${__V(mobile_${count})}的写法:
通过sql查询,把满足结果的数据全部查询出来。
${mobile_1}就代表查询出来的列mobile的第一条数据。
${mobile_#}就是查询出来的mobile列的数据总数。
而我们需要通过一个循环控制器和计数器,来读取到每一个值,作为参数传递给发送的请求。
比如数据库中4条数据,${mobile_1}代表第1个结果,${mobile_2}代表第2个,${mobile_4}代表第4个。但是通过计数器来递增,1开始${mobile_#}(就是总数)结束逐一递增,这里的引用名为count,计数器计数到4,count就是4。
所以在请求的时候需要写成${mobile_${count}},因为没有这种写法,所以采用拼接。
嵌套拼接常用方法:可以采用函数助手V函数实现${__V{变量a_${变量b}}}
image.png
七、验证结果
image.png请求通过,JDBC Requst响应产生响应数据,说明读取数据库数据成功,HTTP请求成功,说明传参正常。
网友评论