和斷言、集合點、思考時間、參數化與lr功能基本相同外,jmeter的關聯功能也是有的,在一定功能需求方面,jmeter還是該有的都有啦,只是功能微弱一些。
關聯的方法:
方法一,從前一個請求中取,用正則表達式提取器。
具體方法,在需要獲得數據的請求上右擊添加一個后置處理器-->正則表達式提取器
引用名稱即下一個請求要引用的參數名稱,如填寫title,則可用${title}引用它。
正則表達式中()括起來的部分就是要提取的。.代表任意字符,*代表出現任意次。
模板,用$$引用起來,如果在正則表達式中有多個正則表達式(多個括號括起來的東東),則可以是$2$,$3$等等,表示解析到的第幾個值給title。
匹配數字,0代表隨機,-1代表所有,其余正整數代表將在檢查的內容中,第幾個匹配的內容提取出來。
方法二,用xpath從前一個請求中取。這種形式比較適合於返回為xml片段的情況。
在需要獲得數據的請求上右擊添加一個后置處理器-->xPath Extractor。
引用名稱即下一個請求要引用的參數名稱,如填寫body,則可用${body}引用它。
XPath query,即xpath的表達式,要符合xpath的語法。
http://blog.sina.com.cn/s/blog_625651900100gjmm.html
http://blog.csdn.net/zhangren07/archive/2010/10/15/5944158.aspx
<input id="am1" class="am" type="text" onfocus="this.blur();" readonly="readonly" value="城西分店" tag="56964" onclick="hidediv('select1')" />
別用-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、看不懂



