JMeter3.0版本無法正常使用正則表達式提取器,這里用的3.2版本進行以下操作钠四。
注:線程組下的某些組件被紅框框起來了,不用太過關注侣灶,那是由于操作時缕碎,存在一些失誤,沒有特殊意義凡怎。
1.配置好如下組件:
http://mobile.weather.com.cn/data/sk/101010100.html?
這里用天氣預報API來做演示统倒,URL:http://mobile.weather.com.cn/data/sk/101010100.html?
2.在設置正則表達式之前氛雪,先運行腳本,從結果樹中找出目標參數(shù)浴鸿,在依此確定表達式的左右邊界弦追。
如下圖:
3.這里骗卜,我想要取“北京”這個作為參數(shù),表達式如下:
{"sk_info":{"date":"20131012","cityName":"(.+?)"
4.運行結果如下圖:
5.這里可以將參數(shù)放在Debug Sampler后面举户,作為一個名稱:
6.也可以將正則表達式設置為提取多個參數(shù):
正則表達式設置如下:
Debug Sampler名稱設置:
結果:
Debug Sampler 名稱(Debug Sampler--${city_g2}_${city_g1}_${city_g3})
7.正則表達式中特殊字符需要用\來轉譯,對多個匹配到的值供填,取第n個罢猪,則設置匹配數(shù)字為(n),0為隨機粘捎,-1為所有。如下圖:
模板($1$?) +? 匹配數(shù)字(-1)
模板(?$1$??) +? 匹配數(shù)字( 1?)??
模板(?$2$??) +? 匹配數(shù)字( 2?)??
如果正則表達式只取一個數(shù)(即表達式中只有一個()),只能用$1$娩缰,如果中間數(shù)字不為1的話,則變量(good_id)取不到數(shù)浮毯。
8.$1$$2$$3$……的用法:
模板($2$$1$$3$??)
模板($3$$1$$2$??)
通過以上兩張圖片已經(jīng)說明了模板的使用規(guī)則及方法亲轨。