JMeter學習-008-JMeter 後置處理器實例之 - 正則表達式提取器(二)多參數獲取

原文鏈接:https://www.cnblogs.com/fengpingfan/p/4755411.html

此文主要對正則表達式提取器的 正則表達式、模板、匹配數字,三者的關係,做進一步的講解。

截取商品列表響應結果數據中的一段商品數據如下所示:

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章