项目上现在有一个需求,从数据库user表查出所有的username,然后把所有查出来的username作为参数值,用于下一个登录接口。难度点分析:根据从数据库中获取的用户数量决定请求多少次登录接口
user表结构如下图
步骤分析
1、新建sql类型接口查询用户数量
2、新建SQL类型接口查询用户信息
按列存储后取值方式:通过 ${name_n} 进行引用,n为行数, ${name_1} 为 name 列的第一条数据。
3、新建场景(所有用户登录场景)添加刚创建的sql接口和循环控制器,设置循环次数为用户数量 ${count_1}
4、循环控制器中添加登录接口,设置username参数取值为{__V(name_{__counter(,)})}
函数说明:${__counter(,)} jmeter递增函数:每次调用计数器函数都会产生一个新值,从1开始每次加1。计数器既可以被配置成针对每个虚拟用户是独立的,也可以被配置成所有虚拟用户公用的。
{__V(name_${__counter(,)})} jmeter函数 __V 可以用于执行变量名表达式,并返回执行结果
执行场景可以看到使用不同的用户和同样的密码 MeterSphere 调用登录接口,成功和失败的结果。