test plan的配置元件中有一些和http屬性相關的元件:http cache manager、http authorization manager、http cookie manager、http header manager、httprequest defaults等,這些是什麼呢?
jmeter不是瀏覽器,因此其行為並不和瀏覽器完全一致。這些jmeter提供的http屬性管理器用於盡可能模擬瀏覽器的行為,在http協議層上定製傳送給被測應用的http請求。
該屬性管理器用於設定其作用範圍內的所有http的預設值,可被設定的內容包括http請求的host、埠、協議等。
乙個test plan中可以有多個http
request defaults,處於多個http
request defaults作用域內的sampler使用http
request defaults中設定值的疊加值。
事例:
http request defaults1:server name or ip: www.baidu.com,乙個引數:aaa=111
http request defaults2:server name or ip: www.qq.com,兩個引數:bbb=222,aaa=333
執行結果:
總結:
1、乙個測試計畫中可以有多個defaults元件,多個defaults元件的預設值會疊加,如上圖,雖然兩個defaults 元件都定義了引數aaa,但發出的請求還是會疊加起來。
2、兩個default中都定義的"server name or ip",顯示在傳送請求時只能使用乙個,這裡使用的是第乙個default定義的值www.baidu.com
事例**:
該屬性管理器用於設定自動對一些需要ntlm驗證的頁面進行認證和登入。如下圖:監控tomcat
該屬性管理器用於模擬瀏覽器的cache行為。為test plan增加該屬性管理器後,test plan執行過程中會使用last-modified、etag和expired等決定是否從cache中獲取相應的元素。
注意:如果test plan中的某個sampler請求的元素是被cache的元素,則test plan在執行過程中會直接從cache中讀取該元素,這樣sampler得到的返回值就會是空。在這種情況下,如果為該sampler設定了assertion檢查響應體中的制定內容是否存在,該assertion就會失敗。
該屬性管理器用於管理test plan執行時的所有cookie。http cookie manager可以自動儲存伺服器傳送給客戶端的所有cookie,並在傳送請求時附加上合適的cookie.
同時,使用者也可以在http cookie manager中手工新增一些cookie,這些被手工新增的cookie會在傳送請求時被自動附加到請求。
注意:
如果在乙個測試計畫內有多個cookie manager ,jmeter目前無法指定哪個被使用。所以,乙個測試計畫內最好只有乙個cookie manager。並且,乙個manager裡的 cookie 並不能被其它manager所引用。所以在使用多個cookie managers 時要謹慎。
同理,上面這個規則同樣適用於config element下面的其它manager:
如果選中"clear cookies each iteration?"此項,意味著執行緒在每次迭代時清除自己會話中的所有cookie.
該屬性管理器用於定製sampler發出的http請求的請求頭的內容。不同的瀏覽器發出的http請求具有不同的agent,訪問某些有防盜煉的頁面時需要正確的refer...這些情況下都需要通過http header manager來保證傳送的http請求是正確的。如下圖:
使用jMeter構造大量併發的隨機HTTP請求
在前一篇文章使用jmeter構造大量併發http請求進行微服務效能測試裡,我介紹了如何用jmeter構造併發http請求。但是通過文中介紹的方式構造的併發請求,其請求引數都是硬編碼的 wang 有沒有辦法讓每個併發請求查詢的引數都不一樣呢?比如讓jmeter構造一些從1到100的隨機數,作為查詢請求...
JMeter學習筆記 JMeter關聯
關聯是jmeter工具中非常重要的乙個技術。因為在測試過程過有些資料是經常發生變化的,要獲取並使用這些資料,就要使用關聯。比如 使用者登入後,session資訊都不同,有些操作要使用session,就需要將這個動態的資訊儲存下來。還有經常遇到的場景,第二個請求提交的引數要從第乙個請求的返回資料中獲取...
JMeter 學習筆記( )
效能測試 用於測量特定負載下機器效能的測試。驗證系統在實際運 況下,滿足功能需求。驗證系統可以滿足可伸縮性需求。可以結合壓力測試,來驗在極端負載下的系統效能。什麼情況下做效能測試 專案開始的時候,盡早的檢測出糟糕的技術應用。確保e2e的可測試性。揭開效能需求的面紗。專案開發的正常間隔,盡早的發現開發...