5.13.1.1 jmeter組件-非測試元件—HTTP代理服務器的功能與配置

HTTP代理服務器,有的地方也翻譯爲測試腳本錄製器(HTTP(S) Test Script Recorder)。
通過它,我們可以完成jmeter腳本錄製。
當你使用瀏覽器訪問web應用程序時,HTTP(S)測試腳本記錄器允許JMeter攔截並記錄您的操作,將創建測試樣例對象保存到測試計劃中(您在操作時,也可以查看錄製的測試計劃)。
要錄製腳本,需要在測試計劃上點擊右鍵菜單(添加→ 非測試元件 → HTTP(S) 代理(HTTP(S) Test Script Recorde ),添加HTTP(S)代理。
然後,您需要設置瀏覽器使用該代理服務器來請求所有HTTP和HTTPS請求。
不要使用jmeter作爲任何其他請求類型的代理,如FTP等。因爲jmeter無法處理它們。
理想的是在錄製會話時使用隱私模式。這能確保瀏覽器從沒有存儲的cookie開始,並防止某些更改被保存。例如,Firefox不允許永久保存證書重寫。
當啓動按鈕被按下時,生成jmeter證書(如果需要)。
證書生成可能需要一些時間,在此期間GUI將不響應。
在這裏插入圖片描述

HTT代理服務器功能介紹
在測試計劃上點擊右鍵菜單 添加->非測試元件->HTTP代理服務器,添加HTTP代理服務器。
在這裏插入圖片描述
HTTP代理服務器的配置界面如下所示:
在這裏插入圖片描述

在這裏插入圖片描述
名稱:設置代理服務器名稱。
註釋:添加可讀的註釋信息。方便後期維護。
Global Settings:
端口:代理服務器監聽的端口,默認是8888,你可以修改;
HTTPS Domains:指定HTTPS域(或主機)名稱列表。用於預生成所有要記錄的服務器的證書。例如,.example.com,.subdomain.example.com
注意,通配符域只適用於一個級別,即,abc.subdomain.example.com與*.subdomain.example.com匹配,但不匹配*.example.com。
目標控制器:指定代理錄製的腳本保存到哪個控制器;
分組:是否將錄製的單個“點擊”(請求接收而無明顯時間間隔的請求)的請求分組,以及如何在錄製中表示該分組。
不對樣本分組:對所有錄製的取樣器不分組。
在組間添加分組:在取樣器分組之間添加以名爲 "--------------“的控制器。
在這裏插入圖片描述
每個組放入一個新的控制器:每個分組放到一個新的簡單控制器下。
只存入每個組的第一個樣本:只要每個分組的第一個請求會被錄製,而這些取樣器的"Follow Redirects” and "Retrieve All Embedded Resources …“等將被設置上。
Put each group in a new transaction controller:每個分組創建一個事務控制器,那個分組的所有取樣器都保存在控制器下。
jmeter區分不同請求,將它們作爲看作的“點擊”請求的最小時間間隔由屬性proxy.pause來定義。默認值是5000(毫秒),即5秒。如果您正在使用分組,請確保在單擊之間留下所需的間隙。
記錄HTTP信息頭:要向測試計劃添加信息頭嗎?如果勾選,則將向每個HTTP取樣器添加HTTP信息頭管理器。代理服務器會從生成的頭管理器中刪除Cookie和授權頭。默認情況下,它也移除了 removes If-Modified-Since和 If-None-Match頭。這些用於確定瀏覽器緩存項是否是最新的;在錄製一個需要下載所有內容時,通常需要下載所有內容。通過修改),要修改那些哪些額外的頭部要刪除,可修改JMeter屬性proxy.headers.remove(定義爲逗號分隔的頭部列表)。
添加斷言:爲每個空的取樣器添加一個斷言;
Regex matching:指定在替換變量時是否使用正則表達式匹配。如果勾選,則將取樣器中的信息使用正則表達式來匹配用戶定義變量值,替換爲變量名(${變量名}),進行替換。匹配時,它只接受真個詞匹配,不接受匹配單詞一部分。
HTTP sampler設置
prefix/Transaction name:在錄製時,在取樣器名稱前添加指定的前綴,或者用用戶指定的事務名稱替換取樣器名稱。
指定prefix爲aa
在這裏插入圖片描述
指定transaction name爲bb
在這裏插入圖片描述
Create new transaction after request (ms):兩個請求之間的不活動時間(需要在兩個單獨的組中考慮它們)。
Type:要生成哪種類型的取樣器(HTTPclient4默認或Java)
自動重定向:錄製的取樣器是否要設置自動重定向。
跟隨重定向:錄製的取樣器是否要設置自動重定向。
HTML文件中獲取所有內含的資源:錄製的取樣器是否要設置勾選HTML文件中獲取所有內涵的資源。
Use keep Alive : 錄製的取樣器是否要設置keep Alive。
在這裏插入圖片描述
Content Type filter :根據content-type過濾請求,例如"text/html [;charset=utf-8 ]”。該字段爲正則表達式,它會檢查content-type是否包含了指定字符串[不必匹配整個字段]。先檢查content-type的包含過濾器,再檢查排除過濾器。過濾掉的取樣器將不會被儲存。
包含模式:使用它可以過濾RUL,只有取樣器的完整URL匹配的該正則表達式纔會被記錄。如果Include和Exclude都爲空,則記錄所有內容(這可能導致爲每個頁面記錄幾十個樣本,如圖像、樣式表等被記錄)。
如果在包含模式中至少有一個條目,則只記錄匹配一個或多個包含模式的請求。
如果我們要錄製某個網站的請求,可以添加一個url過濾,防止錄製不必要的請求
排除模式:使用它可以過濾URL,滿足該條件的請求不會被錄製,
Notify Child Listeners of filtered samplers:通知被過濾取樣器的子監聽器。匹配一個或多個排除模式的任何響應都不會傳遞給子偵聽器(視圖結果樹)。
啓動按鈕:啓動代理服務器。一旦代理服務器啓動並準備接受請求,JMeter就向控制檯寫入以下消息:“代理啓動並運行!”
停止按鈕:停止代理服務器;
重啓按鈕:停止並重新啓動代理服務器,當你改變/添加/刪除 包含/排除過濾器時,這個按鈕很有用,

歡迎關注我的網易雲課程
https://study.163.com/courses-search?keyword=軟件測試123#/?ot=5

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章