jmeter链接数据库数据实现参数化

一、使用jmeter链接数据库

目前mysql数据库版本分为5.7版本和8.0版本,jmeter要链接两个不同的数据库版本,则需要不同的驱动包

  1. 将从官网下载下来的驱动包解压在自己电脑的任意目录下,下载地址:https://dev.mysql.com/downloads/connector/j/,
  2. 将解压后的jar包拷贝到jmeter/lib目录下,也可以不拷贝到jmeter的lib目录下,直接从jemter中添加
    在这里插入图片描述
  3. 重新启动jmeter,选中测试计划,选中下方的浏览按钮,选择jar包所在的路径,添加进来
    在这里插入图片描述
  4. 添加链接数据库的配置元件,选择测试计划-右键添加配置元件-JDBC Connection Configuration
    在这里插入图片描述
  5. 添加好配置元件后,在配置元件里输入链接所需要的信息
    在这里插入图片描述
    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:密码
  6. 上面配置元件配置好以后,测试配置元件是否正确,添加一个jdbc request,方便查看结果,添加一个察看结果树元件
    在这里插入图片描述
  7. 填写配置元件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语句返回的结果
  8. 点击jmeter运行按钮,查看配置信息是否成功,下图为配置成功的结果
    在这里插入图片描述
    其他数据库驱动类和链接方式
二、参数化实现
  1. 取出数据

使用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个。

  1. 参数化处理
    将数据库里的数据取出来后,用在下一个请求的参数,则需要用到ForEach控制器
    ForEach控制器:用来遍历每个数组的数据,和python中的for循环差不多。
    在jmeter中我们引入ForEach控制器,添加ForEach控制器(右键线程组–>逻辑控制器–>ForEach控制器),如下图
    在这里插入图片描述
    输入变量前缀:指的是在JDBC Request元件中设置的变量名,也可以理解为uesr_#的前缀;
    开始循环字段(不包括):这里指的是具体循环的索引值。
    结束循环字段:循环结束对应的索引
    输出变量名称:从循环中取出的值所存储的变量名称
    取出变量后就可以在下一个接口中通过${v_user}使用这个值
  2. 自动获取参数个数并传入ForEach控制器
    在这里插入图片描述
    sql语句中写查询总个数的语句,并把查询出来的变量赋值给user_count,接下来就是在ForEach控制器结束字段引用这个变量就可以啦
    在这里插入图片描述
    注意这里的变量值要和调试取样器中变量保持一致
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值