JMeter-11-从数据库取数据并作为变量传入案例

一、从数据库取数据作为变量传入

需要使用100个账号进行登录,登录时需要传入用户名(userAccount)和密码(默认都为b123456)两个参数,密码是统一的,所以请求登录时直接填写便可,此时我们只需要拿到100个满足条件的userAccount即可

需要用到JDBC Request来获取到数据并用变量保存下来

 

1.步骤一:

打开即存在一个测试计划,在最下方选择mysql的jar包

JMeter-11-从数据库取数据并作为变量传入案例

 

2.步骤二:

新建一个线程组

JMeter-11-从数据库取数据并作为变量传入案例

3.步骤三:

线程组下新建JDBC连接池

JMeter-11-从数据库取数据并作为变量传入案例

4.步骤四:

线程组下新建一个JDBC Request

JMeter-11-从数据库取数据并作为变量传入案例

 

查询出userAccount开头为w0的账号,正好一共100条,用变量userAccount保存

userAccount_# :表示总行数

userAccount_1:第一行

userAccount_2:第二行

 

5.步骤五:

新建一个登陆请求,先取出第一行数据进行登陆

JMeter-11-从数据库取数据并作为变量传入案例

 

6.步骤六:

添加监听器,并执行,登陆成功

JMeter-11-从数据库取数据并作为变量传入案例

至此,完成了从数据库取出一个账号并进行登录的操作

 

二、多个账号登录

一个账号登录成功,但是并不满足我们的需求,我们需要的是100个账号取出并登录

此处就用到了循环控制器,进行循环登录

1.选择登录请求右击-->插入上级-->逻辑控制器-->循环控制器

JMeter-11-从数据库取数据并作为变量传入案例

2.设置循环控制器

循环次数为取出的总行数(100行数据,需要请求登录100次)

JMeter-11-从数据库取数据并作为变量传入案例

3.设置了循环控制器,需要每次不同账号登录,所以userAccount需要传入一个变量,而不是固定值,此时需要计数器

JMeter-11-从数据库取数据并作为变量传入案例

 

设置计数器:

从1开始,一个一个增,最大的数为总行数(100),用变量index保存

 

4.传入的参数为userAccount_${index},但是不能这样书写,需要借助函数助手__V函数

函数__V可以用于执行变量名表达式

JMeter-11-从数据库取数据并作为变量传入案例

5.重新修改登录请求参数

JMeter-11-从数据库取数据并作为变量传入案例

 

6.执行(100条数据全部登录成功)

JMeter-11-从数据库取数据并作为变量传入案例

 JMeter-11-从数据库取数据并作为变量传入案例

 

所有节点如图显示:

JMeter-11-从数据库取数据并作为变量传入案例