前言
前面幾篇我們介紹 JMeter 一些基本的知識與操作方式,這一篇我們將簡單介紹前置處理器(Pre Processor) 與後置處理器 (Post Processor),內容包含:
1. 基本介紹
2. 前置處理器
3. 後置處理器
前置處理器與後置處理器在 JMeter 是非常方便的設定,可以應付多數情境需求,若熟悉這兩個設定,寫起腳本會更加得心應手,而在後置處理器部分 - XPath Extractor部分,我們使用Debug Sample方式印出所有資料,方便您除錯。本篇文章若有錯誤或任何建議,請各位先進不吝指教。
1. 基本介紹
2. 前置處理器
3. 後置處理器
前置處理器與後置處理器在 JMeter 是非常方便的設定,可以應付多數情境需求,若熟悉這兩個設定,寫起腳本會更加得心應手,而在後置處理器部分 - XPath Extractor部分,我們使用Debug Sample方式印出所有資料,方便您除錯。本篇文章若有錯誤或任何建議,請各位先進不吝指教。
介紹
基本介紹
在許多壓力測試情境,我們常常需要在發出 HTTP Request 前後進行一些特別的處理,如下圖所示:case 1.使用帳號密碼進行登入,系統會回傳 token 作為驗證權限使用。我們需要將 token 存起來,提供後續HTTP要求 使用。這時候我們需要後置處理器進行處理。
case 2.我們有些自定義、唯一的變數,像是上一個案例取得的 token,需要放入下一個 HTTP Request 使用。這時候我們需要前置處理器進行處理。
前置處理器部分,將簡單介紹 BashShell 前置處理器與使用者參數;後置處理器部分,則介紹 BashShell 後置處理器、正規表達式剖析器、XPath Extractor。
前置處理器
1. BashShell 前置處理器Step 1.在我們想要新增前置的取樣點選右鍵 >> 新增 >> 前置處理器 >> BashShell PreProcessor。 請確認 BeanShell PreProcessor 在 HTTP Request 底下(作為 child )
Step 2. 我們簡單宣告一個UserId,並放入變數內。
String UserId = "JustForTest"; vars.put("UserId",UserId);
Step 3. 在 HTTP Request 中,我們能透過${UserId}取得變數UserId。我們設定方法為 POST,在 Parameter 頁籤中取用 UserId 變數。
Step 4. 我們增加一個檢視結果樹來觀看送出結果。 右鍵點選HTTP Request >> 新增 >> 接聽 >> 檢視結果樹。
Step 5. 執行後,可以看見發送出我們的UserId。這一個簡單的應用,提供給大家參考。
2. 使用者參數 (User Parameter)
請參考前先文章的 User Defined Variables 章節,設定方式相同。
後置處理器
1. BashShell 後置處理器Step 1.在我們想要新增前置的取樣點選右鍵 >> 新增 >> 後置處理器 >> BashShell Post Processor。 請確認 BeanShell Post Processor在 HTTP Request 底下(作為 child )
Step 2. 我們可以透過前一篇提到的方法取得 Response並轉換成 String,並進行一些處理。我們這篇範例將直接印出 Response 內容
String result = prev.getResponseDataAsString(); print(result);
Step 4. 執行並觀看結果 (印出google 網頁原始碼)
2. 正規表達式剖析器
Step 1. 對 HTTP 要求點選右鍵 >> 新增 >> 後置處理器 >>正規表示式剖析器
Step 2. 舉一個範例:我們設定參照名稱為PlayerCode,正規表示式的樣板為userId後面、&符號前的任意內容。
Step 3. 當接收 Response 後,會自動找到符合的內容,將內容存入PlayerCode這個變數裡,您可以透過${PlauerCode} 取得內容。
3. XPath Extractor
Step 1. 對 HTTP 要求點選右鍵 >> 新增 >> 後置處理器 >>XPath Extractor
Step 2. 輸入參照名稱、XPath Query與預設值如下圖:
Step 3. 我們回到HTTP Request,位置輸入dog0416.blogspot.tw/,方法選擇GET
Step 4. 右鍵點選執行緒群組 >> 取樣 >> Debug sample
Step 5. 右鍵點選執行緒群組 >> 接聽 >> 檢視結果樹
Step 6. 執行並觀看結果
上一篇:JMeter BeanShell 介紹與撰寫
目錄:請點我
下一篇:JMeter Command line mode and report dashboard 指令操作模式與報表儀表板
參考資料
1. http://jmeter.apache.org/usermanual/component_reference.html#User_Parameters
2. http://jmeter.apache.org/usermanual/component_reference.html#HTML_Link_Parser
3. http://jmeter.apache.org/usermanual/component_reference.html#XPath_Extractor
4. http://jmeter.apache.org/usermanual/component_reference.html#Regular_Expression_Extractor
5. Using the XPath Extractor in JMeter -BlazeMeter
2. http://jmeter.apache.org/usermanual/component_reference.html#HTML_Link_Parser
3. http://jmeter.apache.org/usermanual/component_reference.html#XPath_Extractor
4. http://jmeter.apache.org/usermanual/component_reference.html#Regular_Expression_Extractor
5. Using the XPath Extractor in JMeter -BlazeMeter
0 留言