jmeter使用jdbc协议获取数据库中数据,很多人都会用,因为大家在做测试的时候,有时候需要大量的用户进行登录,获取需要数据库中真实的数据用于测试,所以常常会用jdbc来获取数据库数据。
那从数据库获取回来的数据,一般会用什么方式来接收呢?
常见的有两种:Variable names 和 Result variable name。
相信,大家肯定用的最多的就是第一种Variable names,因为这种,使用Foreach控制器使用最简单。但是,其他的你懂得如何使用吗?
那今天,我就这这里,把Variable names 和 Result variable name 这两种接收变量,并循环使用的办法做了一个汇总。
先看用 Variable names 接收数据库返回值的情况:
Variable names为dbmobile,来接收从数据库查询返回回来的100个用户号码,我们可以看下,从数据库中返回回来的数据,是如何被变量接收的。
方法一:
使用foreach控制器,循环的使用这100个手机号,进行登录
看到上图, 输入变量前缀,输入的是Variable names的变量名称;然后开始循环和介绍循环值(上面图中我其实只用98个值,不是100个值);再看输入变量名称,我自定义了一个变量;再勾选了数字之前加下划线。
这个图,我们就看到,登录接口中,使用了上面自定义的变量名称
方法二:
使用循环控制
循环控制器,我们填写循环次数
接下来,我们就要添加计数器,计数器每次计算一次,增加1,定义一个新变量 f 来接收计数器的值。
然后,我们在登录接口中,我们使用一个 关联函数
KaTeX parse error: Expected '}', got 'EOF' at end of input: …_\_V(dbmobile\_
{f})}
接下来我们再看用Result variable name 接收数据库返回值的情况:
Result variable name为dbmobo,来接收从数据库查询返回回来的100个用户号码,我们可以看下,这个时候,从数据库返回回来的数怎么接收的。
方法三:
使用foreach控制器
此时,在使用foreach控制器之前,我们先要用一个正则提取器,把我们想要得用户号码提取出来。我们也来看下,提取之后的值。
看到上图,提取之后的值,是不是似曾相识,接下来用foreach控制器,是不是就很简单了。
方法四:
使用循环控制
循环控制器的配置和计数器的配置,相信大家也都已经知道了,没有难度了。难点,就在下面。
看清楚这个用户参数的设置了吗?
${__BeanShell(vars.getObject("dbmobo").get(${d}).get("mobile"))}
这段能理解吗?从dbmobo这个对象中,获取第 d 个mobile的值。 d是上面的计数器输出值,每次递增1
理解了上面的用户参数的值用法,这个登录接口,就么有难度了吧。看最后运行结果,是不是也可以循环登录了呢?
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
奋斗是追逐梦想的路上,燃烧心灵的火焰。不要畏惧困难和失败,始终保持坚韧和毅力,勇敢地迎接挑战,只有这样,才能赢得属于自己的辉煌与成功。
只有坚持不懈的努力,才能开创出属于自己的辉煌。无论前路有多艰难,只要心怀信念,勇往直前,终将迎来成功的曙光。相信自己,超越自我,让每一次奋斗都成为改变命运的契机。
只有经历过风雨,才能见彩虹;只有经历过辛苦,才能尝到甜美。坚持不懈的努力,会让你收获无比的成就。加油,奋斗的路上没有不可能,只有更强!