@@@@@@@@@@@@@@@
據說好多人早上看時間不是為了起床,而是看還能睡多久
jmeter中變量的使用還是很廣泛的,有語言基礎的都知道變量是什么意思。在jmeter中變量的聲明和調用也都有自己的方式。通過變量我們可以更好的管理我們的腳本,變量還可以幫我們實現參數傳遞,跨線程組傳參等。首先先說說常用的一些變量
1用戶自定義變量組件,可以通過添加用戶自定義變量來管理變量,在這里可以新增變量以及變量的值。
2參數化的變量,數據驅動測試時,往往需要進行參數化,這時候我們是通過變量的方式銜接參數文件,通過聲明的變量,可以取到參數文件的對應值
3正則表達式聲明的變量,當多個接口關聯時,我們需要使用正則表達式去提取內容,並聲明變量,通過變量的調用來實現接口之間的數據傳遞
4全局變量,最常見的關於跨線程組的session保持,全局變量主要被用於跨線程組調用時
筆者目前用到最多的就是這四種變量,在變量調用時123種類型的變量的調用方式都是用:${變量名}的方式進行調用,對於全局變量特殊一些,詳細說說全局變量的命名和調用
全局變量依賴BeanShell Sampler元件,可以在此元件中聲明全局變量,
,通過setProperty將一個變量設置為全局變量:${__setProperty(全局變量名,${變量名},)}
那么怎么調用這個全局變量呢,規定使用${__property(變量名)}或者${__P(全局變量名,)}的語法調用全局變量,如此可以實現多線程組之間的參數傳遞,然后有朋友問我,這兩種調用方式的區別,我簡單說明一下區別,如果想深入了解的可以自行查閱相關資料
${__property(變量名)}和${__P(全局變量名,)}調用變量最大的區別是調用機制不同,舉例說明${__property(變量名)}有三個參數,假設三個參數都有${__property(變量名,start,200)},則其調用流程為,先把200賦值給start這個變量,再由start這個變量賦值給我們需要的變量。而${__P(全局變量名,)}只有兩個采納數,完整情況${__P(全局變量名,200)}這是直接將200賦值給我們需要用的變量,前者的優勢在於可以再次使用${start}進行start變量的調用。本質上來說的區別就是一個通過了中間變量start來給我們需要的變量賦值,而另一個是直接賦值
-- 以上內容均為筆者原創,轉載請注明出處,如有不當歡迎指正~