【最佳实践】使用 MeterSphere 将数据库获取的数据作为下一个接口的参数(循环控制器+计数器函数)


Administrator
飞致云 发布于 2023-01-04 / 636 阅读 / 0 评论 /
项目上现在有一个需求,从数据库user表查出所有的username,然后把所有查出来的username作为参数值,用于下一个登录接口。难度点分析:根据从数据库中获取的用户数量决定请求多少次登录接口user表结构如下图步骤分析1、新建sql类型接口查询用户数量2、新建SQL类型接口查询用户信息按列存储

项目上现在有一个需求,从数据库user表查出所有的username,然后把所有查出来的username作为参数值,用于下一个登录接口。难度点分析:根据从数据库中获取的用户数量决定请求多少次登录接口

user表结构如下图
11

步骤分析
1、新建sql类型接口查询用户数量
22

2、新建SQL类型接口查询用户信息
按列存储后取值方式:通过 ${name_n} 进行引用,n为行数, ${name_1} 为 name 列的第一条数据。
33

3、新建场景(所有用户登录场景)添加刚创建的sql接口和循环控制器,设置循环次数为用户数量 ${count_1}
44

4、循环控制器中添加登录接口,设置username参数取值为{__V(name_{__counter(,)})}

函数说明:${__counter(,)} jmeter递增函数:每次调用计数器函数都会产生一个新值,从1开始每次加1。计数器既可以被配置成针对每个虚拟用户是独立的,也可以被配置成所有虚拟用户公用的。

{__V(name_${__counter(,)})} jmeter函数 __V 可以用于执行变量名表达式,并返回执行结果
55

66

77

执行场景可以看到使用不同的用户和同样的密码 MeterSphere 调用登录接口,成功和失败的结果。



是否对你有帮助?