前言
在做接口或者性能测试的时候,有时需要jmeter连接数据库做操作,可以看看如下实例。
操作实例
-
在mysql数据库中有如下数据表
-
在jmeter导入jdbc驱动插件(需要的留言找我拿)
-
在jmeter测试计划元件最下面,导入jdbc.jar包
-
配置jdbc链接:配置元件–JDBC Connection Configuration
URL配置格式:
jdbc:mysql://数据库IP:端口/数据库名称?serverTimezone=UTCuseUnicode=true&characterEncoding=UTF-8 -
配置jdbc取样器请求mysql数据
-
完成上面步骤后,执行后察看结果树,看是否取出数据
-
把mysql数据放入需要的请求中,在jdbc取样器界面如下设置
-
通过察看结果树查看,返回的数据如下:
-
在取样器调用如下:备注,只能静态取一个数据
-
解决循环取相同的数据问题:
为了循环取不同的数据,我们希望变量名依次变化msw_1msw_2msw_3
所以,改装成用计数器:KaTeX parse error: Expected group after '_' at position 5: {msw_̲{__counter(FALSE,)}}
此时发现jmeter这种写法不支持。
利用内置函数V解决问题,KaTeX parse error: Expected group after '_' at position 2: {_̲_V(msw_{__counter(FALSE,)},)}
但是counter计数器函数不能设置上限,而数据库只有3条数据
配置元件–计数器(上限达到了之后,可以重复循环使用数据)
-
由于只需要在数据库中取一次数据即可,即jdbc取样器只需要执行一次,可以使用仅一次控制器,如下图设置: