JMeter学习-08-JMeter 后置处理器实例之 - 正则表达式提取器(二)多参数获取

此文主要对正则表达式提取器的 正则表达式、模板、匹配数字,三者的关系,做进一步的讲解。

截取商品列表响应结果数据中的一段商品数据如下所示:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

{

    "sysNo": "2142717",

    "skuid": "487626525247",

    "productID": "101-006-72958",

    "productTitle": "苹果(Apple)iPhone 6 Plus (A1524) 16GB 金色 移动联通电信4G手机",

    "price": "556600",

    "activePrice": "",

    "marketprice": "608800",

    "promotionDesc": "A1524、A1586为三网通版,支持移动\/联通\/电信4G\/3G\/2G。找水货?找翻新?没有!易迅网为国行正品代言!!",

    "manufacturerCode": "49",

    "manufacturerName": "苹果(Apple)",

    "evaluationNum": "1717",

    "gradeNum": "48",

    "onlineQty": "597",

    "shippingday": "0t0",

    "gift": 0,

    "promotionType": "0",

    "attribute": "20000000TD-SC<strong>(为保持美观,此行数据有所删除,不影响此文讲解,请知悉!)</strong>5.5寸三网通版",

    "saleNum": "454",

    "productTypeMasterid": "0",

    "areaCode": "1",

    "classid": "203320",

    "tag": "超薄手机 大屏手机 待机时间长 高清屏 女神手机 拍照功能强 商务手机 外观漂亮 指纹识别 主流潮机",

    "goodsUrl": "http:\/\/item.yixun.com\/item-2142717.html",

    "picUrl": "http:\/\/img3.wgimg.com\/qqbuy\/2295220799\/item-00000000000000000000007188CE4A3F.0.jpg\/200?55DAE367",

    "reachable": "0"

},

参照上述商品信息数据,假定我们需要获取的是商品的系统编号、商品价格,那么我们改如何写呢?对应上述信息获取商品系统编号、商品销售价格,最终的正则表达式如下所示:

单独获取商品系统编号:

单独获取商品销售价格:

执行结果如下所示:

1

2

3

4

5

6

7

8

price=556600

price_g=1

price_g0="price":"556600","

price_g1=556600

sysNo=2142717

sysNo_g=1

sysNo_g0="sysNo":"2142717","

sysNo_g1=2142717

 

在前文的讲述中,正则表达式提取器的模板是匹配正则表达式提取式的控制模板。例如:模板 11 中的数字 1 代表取第一个正则提取式的内容,当为0时,为整个正则表达式完整匹配项。那么我们就可以通过模板控制我们选取的提取式,以获取相应的内容,进行相应的后续操作。通过模板控制,单独获取商品系统编号、销售价格的正则表达式提取配置如下所示:

混合单取商品系统编号:

混合单取商品销售价格:

执行结果如下所示:

1

2

3

4

5

6

7

8

9

10

single_price=556600

single_price_g=2

single_price_g0=sysNo":"2142717","skuid":"487626525247","productID":"101-006-72958","productTitle":"苹果(Apple)iPhone 6 Plus (A1524) 16GB 金色 移动联通电信4G手机","price":"556600","

single_price_g1=2142717

single_price_g2=556600

single_sysNo=2142717

single_sysNo_g=2

single_sysNo_g0=sysNo":"2142717","skuid":"487626525247","productID":"101-006-72958","productTitle":"苹果(Apple)iPhone 6 Plus (A1524) 16GB 金色 移动联通电信4G手机","price":"556600","

single_sysNo_g1=2142717

single_sysNo_g2=556600

经过上述的讲解及演示,细心的小主可能已经发现了,在提取相关联的数据时,通过单独提取的方式非常的不方便,而且在数量多的时候,难免出现配置数据不对应的情况,造成所取的关联数据并非关联数据。那么针对此种情况,我们改如何处理呢?通过 上篇文章 及本文前面的讲解,我们知道,既然可以通过模板控制提取内容的选取,那是否可将相关联的需提取的内容同时在一个正则表达式提取器中完成呢?答案是可以的,仅需在引用名称、模板、匹配数字、缺省值 进行相应的配置即可,同时以英文半角字符 “,” 分隔即可。下面就以同时获取系统编号和销售价格为例进行演示:

正则提取器配置如下所示:

执行结果如下所示:

1

2

3

4

5

goodInfo=2142711,558800

goodInfo_g=2

goodInfo_g0=sysNo":"2142711","skuid":"487626066110","productID":"101-006-69384","productTitle":"苹果(Apple)iPhone 6 Plus (A1524) 16GB 深空灰色 移动联通电信4G手机","price":"558800","

goodInfo_g1=2142711

goodInfo_g2=558800

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值