史上最全的 jmeter 获取 jdbc 数据使用的四种方法

本贴最后更新于 1603 天前,其中的信息可能已经事过景迁

史上最全的jmeter获取jdbc数据使用的四种方法

jmeter使用jdbc协议获取数据库中数据,很多人都会用,因为大家在做测试的时候,有时候需要大量的用户进行登录,获取需要数据库中真实的数据用于测试,所以常常会用jdbc来获取数据库数据。

哪从数据库获取回来的数据,一般会用什么方式来接收呢?常见的有两种:Variable names 和 Result variable name。

相信,大家肯定用的最多的就是第一种Variable names,因为这种,使用Foreach控制器使用最简单。但是,其他的你懂得如何使用吗?

哪今天,我就这这里,把Variable names 和 Result variable name 这两种接收变量,并循环使用的办法做了一个汇总,给大家讲解一下。

我们先看用 Variable names 接收数据库返回值的情况:

image.png

Variable names为dbmobile,来接收从数据库查询返回回来的100个用户号码,我们可以看下,从数据库中返回回来的数据,是如何被变量接收的。

image.png

方法一: 使用foreach控制器,循环的使用这100个手机号,进行登录

image.png

看到上图, 输入变量前缀,输入的是Variable names的变量名称;然后开始循环和介绍循环值(上面图中我其实只用98个值,不是100个值);再看输入变量名称,我自定义了一个变量;再勾选了数字之前加下划线。

image.png

这个图,我们就看到,登录接口中,使用了上面自定义的变量名称

image.png

方法二:使用循环控制

image.png

循环控制器,我们填写循环次数

image.png

接下来,我们就要添加计数器,计数器每次计算一次,增加1,定义一个新变量 f 来接收计数器的值。

image.png

然后,我们在登录接口中,我们使用一个 关联函数 {\_\_V(dbmobile\_{f})}

image.png

接下来我们再看用Result variable name 接收数据库返回值的情况:

image.png

Result variable name为dbmobo,来接收从数据库查询返回回来的100个用户号码,我们可以看下,这个时候,从数据库返回回来的数怎么接收的。

image.png

方法三: 使用foreach控制器

image.png

此时,在使用foreach控制器之前,我们先要用一个正则提取器,把我们想要得用户号码提取出来。我们也来看下,提取之后的值。

image.png

看到上图,提取之后的值,是不是似曾相识,接下来用foreach控制器,是不是就很简单了。

image.png

image.png

image.png

方法四:使用循环控制

image.png

image.png

循环控制器的配置和计数器的配置,相信大家也都已经知道了,没有难度了。难点,就在下面。

image.png

看清楚这个用户参数的设置了吗?

${__BeanShell(vars.getObject("dbmobo").get(${d}).get("mobile"))}

这段能理解吗?从dbmobo这个对象中,获取第 d 个mobile的值。 d是上面的计数器输出值,每次递增1

image.png

理解了上面的用户参数的值用法,这个登录接口,就么有难度了吧。看最后运行结果,是不是也可以循环登录了呢?

image.png

好了,这四种用法你是否都掌握了呢?相信很多同学都只会其中1到2种用法吧。之前没有用过,哪就好好动手学习起来吧!

想了解更多有趣,有料的测试相关技能技巧,欢迎关注柠檬班微信公众号,或在腾讯课堂中搜索柠檬班机构,观看测试相关视频。

  • Jmeter
    72 引用 • 67 回帖 • 1 关注
1 操作
Allen 在 2020-08-06 17:23:22 更新了该帖
2 回帖
请输入回帖内容 ...
  • mmklyz

    除了第4种不太理解,其它都理解了,还是第一种简单直接吧。

  • Allen

    哈哈,扩展知识面,多一种方法多一条路。掌握其中任意1种,就够了。