JMeter-11-从数据库取数据并作为变量传入案例
一、从数据库取数据作为变量传入
需要使用100个账号进行登录,登录时需要传入用户名(userAccount)和密码(默认都为b123456)两个参数,密码是统一的,所以请求登录时直接填写便可,此时我们只需要拿到100个满足条件的userAccount即可
需要用到JDBC Request来获取到数据并用变量保存下来
1.步骤一:
打开即存在一个测试计划,在最下方选择mysql的jar包
2.步骤二:
新建一个线程组
3.步骤三:
线程组下新建JDBC连接池
4.步骤四:
线程组下新建一个JDBC Request
查询出userAccount开头为w0的账号,正好一共100条,用变量userAccount保存
userAccount_# :表示总行数
userAccount_1:第一行
userAccount_2:第二行
5.步骤五:
新建一个登陆请求,先取出第一行数据进行登陆
6.步骤六:
添加监听器,并执行,登陆成功
至此,完成了从数据库取出一个账号并进行登录的操作
二、多个账号登录
一个账号登录成功,但是并不满足我们的需求,我们需要的是100个账号取出并登录
此处就用到了循环控制器,进行循环登录
1.选择登录请求右击-->插入上级-->逻辑控制器-->循环控制器
2.设置循环控制器
循环次数为取出的总行数(100行数据,需要请求登录100次)
3.设置了循环控制器,需要每次不同账号登录,所以userAccount需要传入一个变量,而不是固定值,此时需要计数器
设置计数器:
从1开始,一个一个增,最大的数为总行数(100),用变量index保存
4.传入的参数为userAccount_${index},但是不能这样书写,需要借助函数助手__V函数
函数__V可以用于执行变量名表达式
5.重新修改登录请求参数
6.执行(100条数据全部登录成功)
所有节点如图显示: