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

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

时间:2022-12-15 13:34:23浏览次数:57  
标签:101 进阶 获取 006 011 引用 JMeter 数据 goodInfo

 

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

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

第一种:单数据变量

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

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

 

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

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

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

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

​​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​​

通过上述信息,结合正则表达式提取器的配置信息,我们可以很容易的看出,配置中模板 

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

1 中的数字,对应上述信息中的不同数据。例如:若模板为 

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

0,则最终的数据为上述第三行等号后的数据;若模板为 

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

3,则最终数据为 101-006-72936。上述提取器的模板为: 

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

1,

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

3,

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

5,最终的数据为 2142670,101-006-72936,628800。那么若是想要获取 101-006-72936,改怎么引用呢?相信聪明的你已经在上述信息中发现了,对了,实际应用的表达式为 : ${goodInfo_g3}。

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

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

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

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

 

附录(一):

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

 




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

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

第一种:单数据变量

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

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

 

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

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

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

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

​​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​​

通过上述信息,结合正则表达式提取器的配置信息,我们可以很容易的看出,配置中模板 

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

1 中的数字,对应上述信息中的不同数据。例如:若模板为 

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

0,则最终的数据为上述第三行等号后的数据;若模板为 

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

3,则最终数据为 101-006-72936。上述提取器的模板为: 

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

1,

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

3,

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

5,最终的数据为 2142670,101-006-72936,628800。那么若是想要获取 101-006-72936,改怎么引用呢?相信聪明的你已经在上述信息中发现了,对了,实际应用的表达式为 : ${goodInfo_g3}。

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

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

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

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

 

附录(一):

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

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

 

标签:101,进阶,获取,006,011,引用,JMeter,数据,goodInfo
From: https://blog.51cto.com/u_15431495/5939326

相关文章