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 种用法吧。之前没有用过,哪就好好动手学习起来吧!软件测试资料包