Jmeter 使用 JDBC 协议获取数据库中数据,很多人都会用。
因为大家在做测试的时候,有时候需要大量的用户进行登录,获取需要数据库中真实的数据用于测试,所以常常会用 JDBC 来获取数据库数据。
那从数据库获取回来的数据,一般会用什么方式来接收呢?
常见的有两种:Variable names 和 Result variable name。
相信大家肯定用的最多的就是第一种 Variable names。因为这种使用 Foreach 控制器使用最简单。
但是,其他的你懂得如何使用吗?
今天,我就在这里,把 Variable names 和 Result variable name 这两种接收变量,并循环使用的办法做了一个汇总,给大家讲解一下。
01
用 Variable names 接收数据库返回值:
Variable names 为 dbmobile,来接收从数据库查询返回回来的 100 个用户号码,我们可以看下,从数据库中返回回来的数据,是如何被变量接收的。
方法一
使用 foreach 控制器,循环的使用这 100 个手机号,进行登录
看到上图, 输入变量前缀,输入的是Variable names 的变量名称;
然后开始循环和介绍循环值(上面图中我其实只用 98 个值,不是 100 个值);
再看输入变量名称,我自定义了一个变量;再勾选了数字之前加下划线。
从上图我们就看到,登录接口中,使用了上面自定义的变量名称。
方法二
使用循环控制
首先对于循环控制器,我们填写循环次数
接下来,我们就要添加计数器,计数器每次计算一次,增加1,定义一个新变量 f 来接收计数器的值。
然后,我们在登录接口中,我们使用一个 关联函数 ${__V(dbmobile_${f})}
02
用 Result variable name 接收数据库返回值:
Result variable name 为 dbmobo,来接收从数据库查询返回回来的 100 个用户号码,我们可以看下,这个时候,从数据库返回回来的数怎么接收的。
方法三
使用 foreach 控制器
此时,在使用 foreach 控制器之前,我们先要用一个正则提取器,把我们想要得用户号码提取出来。我们也来看下,提取之后的值。
看到上图,提取之后的值,是不是似曾相识,接下来用 foreach 控制器,是不是就很简单了。
方法四
使用循环控制
循环控制器的配置和计数器的配置,相信大家也都已经知道了,没有难度了。难点,就在下面。
看清楚这个用户参数的设置了吗?
${__BeanShell(vars.getObject("dbmobo").get(${d}).get("mobile"))}
从 dbmobo 这个对象中,获取第 d 个 mobile 的值。d 是上面的计数器输出值,每次递增 1。
理解了上面的用户参数的值用法,这个登录接口,就么有难度了吧。看最后运行结果,是不是也可以循环登录了呢?
好了,这四种用法你是否都掌握了呢?相信很多人都只会其中 1 到 2 种用法吧。之前没有用过,哪就好好动手学习起来吧!
最后为方便大家学习测试,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。
包括,软件学习路线图,50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2021软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助……
关注我公众号:【程序员二黑】即可获取这份资料了!