概述
一、使用jmeter链接数据库
目前mysql数据库版本分为5.7版本和8.0版本,jmeter要链接两个不同的数据库版本,则需要不同的驱动包
- 将从官网下载下来的驱动包解压在自己电脑的任意目录下,下载地址:https://dev.mysql.com/downloads/connector/j/,
- 将解压后的jar包拷贝到jmeter/lib目录下,也可以不拷贝到jmeter的lib目录下,直接从jemter中添加
- 重新启动jmeter,选中
测试计划
,选中下方的浏览按钮,选择jar包所在的路径,添加进来
- 添加链接数据库的配置元件,选择测试计划-右键添加配置元件-JDBC Connection Configuration
- 添加好配置元件后,在配置元件里输入链接所需要的信息
Variable Name for created pool:变量名,随意取;
DataBase URL:基本格式【jdbc:mysql://数据库地址:端口】,【jdbc:mysql://】是jdbc连接mysql数据库固定前缀,常用格式:jdbc:mysql://{ip}:{port}/{dbname}?useUnicode=true&characterEncoding=utf8,加入后缀防止乱码
JDBC Driver Class:mysql的驱动类
Username:用户名
Password:密码 - 上面配置元件配置好以后,测试配置元件是否正确,添加一个jdbc request,方便查看结果,添加一个察看结果树元件
- 填写配置元件jdbc request的信息
Variable Name Bound to pool:这里的变量名与JDBC配置元件里的变量名要保持一致,这里应该为discuzdb;
Query:填写的sql语句,有的帖子写的是不要加“;”,笔者觉得加不加都一样
Parameter valus:参数值
Parameter types:参数类型
Variable names:保存sql语句返回结果的变量名
Result variable name:创建一个对象变量,保存所有返回的结果
Query timeout:查询超时时间
Handle result set:定义如何处理由callable statements语句返回的结果 - 点击jmeter运行按钮,查看配置信息是否成功,下图为配置成功的结果
其他数据库驱动类和链接方式
二、参数化实现
- 取出数据
使用jmeter链接好mysql数据库后,在“JDBC Request”元件里可以看到下方有很多参数,将Variable names填写为uesr,pwd,enail
user代表第username列的所有的数据,
user_n:获得usernamer列的第n行的数据。
pwd和email的功能类似, 假如我们只需要pwd列和email列的数据,可以写成pwd,,email
,中间的","不可以省略。
添加调试取样器查看结果
从结果中,可以发现得到了三组类似的数据,分别为enail_#=2,pwd_#=2,user_#=2,下划线前面的表示的就是填写的变量名称,下划线后面表示的是下标,有几个变量,下标就可以取到几个。“=”后面的值表示的是变量的值有几个,这里2表示user变量有2个,可以看到结果中,每个变量的下划线后面都有1和2,表示每个变量都有2个,实际中确实也有2个。
- 参数化处理
将数据库里的数据取出来后,用在下一个请求的参数,则需要用到ForEach控制器
ForEach控制器:用来遍历每个数组的数据,和python中的for循环差不多。
在jmeter中我们引入ForEach控制器,添加ForEach控制器(右键线程组–>逻辑控制器–>ForEach控制器),如下图
输入变量前缀:指的是在JDBC Request
元件中设置的变量名,也可以理解为uesr_#的前缀;
开始循环字段(不包括):这里指的是具体循环的索引值。
结束循环字段:循环结束对应的索引
输出变量名称:从循环中取出的值所存储的变量名称
取出变量后就可以在下一个接口中通过${v_user}使用这个值 - 自动获取参数个数并传入ForEach控制器
sql语句中写查询总个数的语句,并把查询出来的变量赋值给user_count,接下来就是在ForEach控制器结束字段引用这个变量就可以啦
注意这里的变量值要和调试取样器中变量保持一致
最后
以上就是潇洒小兔子为你收集整理的jmeter链接数据库数据实现参数化的全部内容,希望文章能够帮你解决jmeter链接数据库数据实现参数化所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复