JMeter – 使用代理伺服器錄製連線 (Recording Controller)

在 JMeter 裡我們可以設置一個代理伺服器,就可以在瀏覽器中或手機設置代理伺服器位置,讓每個連線都可以透過 JMeter 並將這些行為都錄製下來。

以連線到財政部 (http://www.mof.gov.tw/) 來當例子,一開始在「測試計劃」點擊右鍵選「Add -> Threads (Users) -> 執行緒群組」,接著在 「執行緒群組」點擊右鍵選「邏輯控制器 (Logic Controller) ->錄製控制器(Recording Controller)」。

再來我們在「工作台 (WorkBench) -> Add -> 非測試元素 (Non-Test Elements ) -> 代理伺服器 (HTTP Proxy Server)」,設定 port、目標控制器等相關參數。

http_proxy

之後,將瀏覽器的「代理伺服器」設定為 IP: localhost   port: 8080 ( port 要與 JMeter HTTP 伺服器設定相同)。

chrome

全部都設定好了之後,按下開始,開始錄製動作。
接著就打開瀏覽器到 http://www.mof.gov.tw/,我們可以從錄製控制器( Recording Controller) 看到相關的連線資料。

connect

從上圖中可以看到連線到財政部網站的所有資料,但有時候可能我們不需要過多的資訊顯示出來,所以我們可以在 JMeter  代理伺服器頁面裡的「除外的型式 (URL Patterns to Exclude)」、「包含的型式 (URL Patterns to Exclude)」,使用正規表示式加上過濾的條件,將不必要的資訊過濾掉。

舉例來說,如果我們不想看到連線到 .jpg 或是 .gif 連線的資料,就可以在除外的型式裡做設定。(如下圖)

Exclude

設定完成後我們再重新連線到 http://www.mof.gov.tw/,可以看到之前出現的 .png 連線資料就不會出現了。

after_exclude

同樣的我們也可以在「包含的型式 (URL Patterns to Exclude)」,使用正規表示式加上過濾的條件,只保留我們需要的資訊,如 .html、.php .. 等。

當整個錄製動作完成後,回到「執行緒群組」頁面,輸入「執行緒數量」、「延遲時間」..等 按下上方的「開始」,就可以透過剛剛錄製下來的行為開始執行壓力測試了。

參考文章:
[Jmeter]進階操作 錄製控制器 Recording Controller

發表留言