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请求中的 商品编号。
最终脚本执行结果如下所示(断言请小主自行仿照配置):
附录(一):