1. 程式人生 > >Jmeter-關聯設定

Jmeter-關聯設定

和斷言、集合點、思考時間、引數化與lr功能基本相同外,jmeter的關聯功能也是有的,在一定功能需求方面,jmeter還是該有的都有啦,只是功能微弱一些。

關聯的方法:

方法一,從前一個請求中取,用正則表示式提取器。

具體方法,在需要獲得資料的請求上右擊新增一個後置處理器-->正則表示式提取器

引用名稱即下一個請求要引用的引數名稱,如填寫title,則可用${title}引用它。

正則表示式中()括起來的部分就是要提取的。.代表任意字元,*代表出現任意次。

模板,用$$引用起來,如果在正則表示式中有多個正則表示式(多個括號括起來的東東),則可以是$2$,$3$等等,表示解析到的第幾個值給title。

匹配數字,0代表隨機,-1代表所有,其餘正整數代表將在檢查的內容中,第幾個匹配的內容提取出來。

方法二,用xpath從前一個請求中取。這種形式比較適合於返回為xml片段的情況。

在需要獲得資料的請求上右擊新增一個後置處理器-->xPath Extractor。

引用名稱即下一個請求要引用的引數名稱,如填寫body,則可用${body}引用它。

XPath query,即xpath的表示式,要符合xpath的語法。

clip_image002

<input id="am1" class="am" type="text" onfocus="this.blur();" readonly="readonly" value="城西分店" tag=

"56964" onclick="hidediv('select1')" />

clip_image004

clip_image005

別用-1 
負數表示取所有值,是以陣列方式存放 
呼叫需要用陣列方式呼叫。

0表示隨機 
1表示第一個匹配的 
2表示第二個匹配的 
依次類推

引用名稱即使用的引數名;填入正則表示式;模板選取匹配的組;匹配數字為匹配的個數,負數表示全部匹配;預設值為沒有匹配到時的取值。

Jmeter中的關聯用函式_regexFunction實現,函式字串可以通過“函式助手對話方塊”生成。

  1、正則表示式:s0.id="(.*)";如果response中有類似s0.id="_fks_JV8Uodp1O7nE9VFbRgYT5w==

";這樣的字串,那麼引數的值就為:_fks_JV8Uodp1O7nE9VFbRgYT5w==

  2、引數的組別:如果前面的正則表示式取了不止一個引數(如 s0.id="(.*)";s0.ip="(.*)";),那麼這裡需要制定引數的組別,如果該引數為 $1$,則表示取得第一個值(id),$2$表示取得第二個值(ip)。

  3、第幾個引數:組別設定好以後,還有一個問題,如果response中有兩個地方都能夠匹配s0.id="(.*)";s0.ip="(.*)";這個字串,那麼這裡可以選擇取第幾次匹配,選擇1表示第一次匹配,依次類推。還可以選擇All,表示選擇所有匹配,這個不大用到,具體可以看jmeter的幫助。

  4、當3步驟的引數選擇ALL時用到,不再詳述。

  5、預設值:如果response中沒有匹配值,就使用該預設值。

  6、看不懂