Jmeter 从数据库查询多个字段,依次传给登录接口怎么实现?

  • 2019 年 10 月 3 日
  • 笔记

问题背景:

博文“Jmeter 如何把数据库的数据依次获取作为参数传入下一个请求?附栗子”某天有人留言如下:

看了下当时写的文章,如果从数据库查询多个字段,依次传给登录接口,确实不能合理实现,所以,特意整理出一篇文章

 

一、添加jdbc请求并设置变量,获取数据库多个字段值

1、添加好JDBC Connection Configuration并做好数据库连接配置

2、导入mysql驱动jar包

以上1、2操作不详细整理了,参考之前博文“Jmeter 如何把数据库的数据依次获取作为参数传入下一个请求?附栗子” 非常详细

3、添加线程组–>右键线程组–>添加jdbc request,并做好设置

4、添加查看结果树并运行;得到以下结果

ps:这里为了举例方便,并未获取密码的值,如果工作中有需要查库获取密码,那么需要找对应开发将密码加密解密的代码部分导出一个jar包,并添加到jmeter的lib/ext下;另外自己添加BeanShell PostProcessor写代码进行密码解密

 

 

二、添加另一个jdbc请求,用于获取member中的用户总数

1、右键线程组–>添加一个jdbc请求,并设置变量count

2、运行,确认下用户总数

 

 

三、添加循环控制器、计数器,实现循环读取库的多个字段信息,并传递到下一个登录请求

1、添加循环控制器,用于所有用户的循环运行

2、在循环控制器之下,添加计数器

3、在循环控制器之下,添加登录请求,并进行嵌套变量引用

  • ${n}:这里n为计数器得出的值,从1到${count_1},即值为1~25
  • _V函数: 若${__V(phone_${n})}中${n}=2, 则${__V(phone_2)}返回phone_2的值

4、点击运行,所有用户全部进行了登录执行