在LR中有自動關聯跟手動關聯,但在我看來手動關聯更准確,在jmeter中,就只有手動關聯
為什么要進行關聯:對系統進行操作時,本次操作或下一次操作對服務器提交的請求,這參數里邊有部分參數需要服務器返回動態變化的值,首先這個值是動態變化的其次是由服務器動態返回的再者會對請求結果產生影響
在jmeter中,關聯有幾種方法,①正則表達式②邊界提取器③Json Extractor提取器
一正則表達式:
當我要注冊時有一個值是每次都是變化的:
<input type="hidden"
name="formhash" value="0ab4d9ec" />
——————————————————————
<input type="hidden"
name="formhash" value="11cc937d" />
所以需要對這個值進行一個關聯
在你要關聯的請求下右鍵點擊添加-后置處理器-正則表達式提取器
在正則表達式頁面設置一下
在模板$1$意思是,如果有多個動態變化的值,如在引用名稱formhash,XXX,XXX,有三個值,那在模板上這樣填$1$$2$$3$,但是建議不這樣用容易出問題,如果說有多個動態變化的值需要關聯那么直接多添加幾個正則表達式提取器就可以了,然后在要關聯的值里填入 ${formhash}
二邊界提取器:
在Boundary Extractor提取器中是4.0版本新推的一個小功能,本人認為這個比正則最好用,跟LoadRunner關聯的左邊界右邊界相似
看這個就知道它的左邊界跟右邊界是怎么填了name="formhash" value="11cc937d"
三Json Extractor提取器:
當傳數據返回的是一個Json格式,如{"name":"sojson","url":"www.sojson.com"}這樣的格式又或者是如下
{
"技術使用": [
"SpringMVC",
"Mybatis ",
"Freemarker",
"Shiro"
],
"數據存儲": [
"Redis",
"RDS",
"七牛雲存儲"
]
}
那就要用json方式來關聯了
同樣的在你要關聯請求右鍵點擊添加—后置處理器—JSON Extractor
進入JSON Extractor頁面