??很久沒有使用 JMeter 了,今天再看一下,發現了新的用法,很好用,能提高工作效率,在這里分享一下。
??如上圖所示,我們有時候需要在一個線程組內同時進行多個 HTTP 請求(比如 HTTP 請求1、HTTP 請求2、HTTP 請求3),在這些請求中有一些共同的參數,比如“服務器名稱”、“端口號”、“HTTP 請求方法”、“路徑”等等。如上圖我們有三個請求,如果輸入三次完全相同的參數,會顯得很繁瑣,既然都一樣,那么我們可不可以只寫一次,三次請求共用這些參數呢?其實是可以的。
??我們可以使用【配置元件】中的【HTTP 請求默認值】,將這些相同的參數全都寫在“HTTP 請求默認值”里,這樣在其作用域下的 HTTP 請求都會使用默認的 HTTP 請求。如果需要修改,我們也只需要修改這一處就可以了。
??那么,問題來了。這樣寫,就要求我們所有的請求都是一樣的,萬一有一個請求不一樣呢,比如“請求方法”不同,或者“路徑”不同等等。而我們又想一次請求,怎么辦呢?
??對于多個相同點中的“另類”我們需要特殊對待。比如說,上圖中的“HTTP 請求3”中的“路徑”和其他兩個不同,那么我們就在“HTTP 請求3”的路徑中輸入該請求正確的路徑就可以了。
這里我們要思考一個問題?
問:什么時候“HTTP 請求默認值”的參數有效,什么時候請求本身自己的參數生效呢?
答:當請求沒有輸入請求參數時,默認值生效;當請求輸入了自己的參數值,那么此時不在使用默認值,而使用請求參數自己的值。
通俗點說就是“當我自己沒有的時候我用默認值,當我有的時候我就用我自己的值”。
下面我們介紹另一個超實用的配置元件:用戶定義的變量。
??很多請求中我們都需要傳入相應的參數(parameters),比如上圖所示的三個 HTTP 請求,我們都需要傳入參數分別為:{key,value1}、{key,value2}、{key,value3}。如果我們有10個或者更多個請求,我們需要對每一個請求的參數進行輸入,如果后期需要修改,我們又需要對每一個進行修改,不僅繁瑣,還有可能會遺漏或者出現錯誤。
如果我們能夠把這些變量都在一個頁面進行統一的管理,是不是就會方便了很多呢?
??就比如上圖,我們把3個 HTTP 請求的參數都定義在配置文件【用戶定義的變量】中,一目了然。“HTTP 請求1”使用的是第一個參數{key1,value1}、“HTTP 請求2”使用的是第二個參數{key2,value2}......
如果請求想要修改參數值,那么我們可以直接在該配置文件修改即可?
??我們在這里定義了這些參數變量,那么,這些請求如何調用呢?
調用參數值,也很方便,只要使用符號${變量名}
即可在需要的地方調用該參數值。
如果我們需要修改請求的參數值,就可以直接在【用戶定義的變量】這個配置元件中統一修改。