首页 > 代码库 > JMeter学习-011-JMeter 后置处理器实例之 - 正则表达式提取器(三)多参数获取进阶引用篇

JMeter学习-011-JMeter 后置处理器实例之 - 正则表达式提取器(三)多参数获取进阶引用篇

前两篇文章分表讲述了 后置处理器 - 正则表达式提取器概述及简单实例、多参数获取,相应博文敬请参阅 简单实例、多参数获取。

此文主要讲述如何引用正则表达式提取器获取的数据信息。其实,正则表达式提取器获取的数据,均可看做一个变量(单个数据,此处指所需获取的测试相关数据)或数组(多个数据),通过引用变量或者数组的数据,达到应用其数据的目的。下面针对此两种方式进行介绍。

第一种:单数据变量

但数据变量的应用比较简单,同我们日常 shell 脚本引用变量相同,引用样式:引用名称。例如要引用下图中的变量,引用方式为:{price}。

技术分享

 

第二种:多数据变量(数组)

多数据变量(数组)的提取器配置如下图所示:

技术分享

通过调试工具 DPP,我们可以获取上述 goodInfo 的相关信息如下所示:

1
2
3
4
5
6
7
8
goodInfo=2142670,101-006-72936,628800
goodInfo_g=5
goodInfo_g0=sysNo":"2142670","skuid":"487623639432","productID":"101-006-72936","productTitle":"苹果(Apple)iPhone 6 Plus (A1593) 64GB 银色 移动4G手机","price":"628800","
goodInfo_g1=2142670
goodInfo_g2=","skuid":"487623639432","
goodInfo_g3=101-006-72936
goodInfo_g4=productTitle":"苹果(Apple)iPhone 6 Plus (A1593) 64GB 银色 移动4G手机
goodInfo_g5=628800

通过上述信息,结合正则表达式提取器的配置信息,我们可以很容易的看出,配置中模板 技术分享1 中的数字,对应上述信息中的不同数据。例如:若模板为 技术分享0,则最终的数据为上述第三行等号后的数据;若模板为 技术分享3,则最终数据为 101-006-72936。上述提取器的模板为: 技术分享1,技术分享3,技术分享5,最终的数据为 2142670,101-006-72936,628800。那么若是想要获取 101-006-72936,改怎么引用呢?相信聪明的你已经在上述信息中发现了,对了,实际应用的表达式为 : ${goodInfo_g3}。

下面就以获取商品编号,并通过商品编号搜索商品,同时通过 商品系统编号、商品价格 验证搜索结果是否正确(商品搜索的 HTTP请求 获取请小主自行获取,谢谢!),依据下图所示,将搜索请求中的关键字参数化为上步 HTTP请求中的 商品编号。

技术分享

最终脚本执行结果如下所示(断言请小主自行仿照配置):

技术分享

 

附录(一):

技术分享 正则表达式提取器(二)多参数获取进阶引用篇

 

JMeter学习-011-JMeter 后置处理器实例之 - 正则表达式提取器(三)多参数获取进阶引用篇