Jmeter 快速入門教程(四)--錄製複雜web測試腳本

原文地址:http://performtesting.whoistester.com/index.php/tutorials/46-2011-09-13-03-22-46/154-jmeter-web.html

作者:WhoisTester   
2012-01-01 15:08

 [版權所有whoistester.com]

Jmeter的功能簡單,不需要有腳本語言的編寫經驗,純圖形界面添加測試場景, 用起來上手很快。但是如果手動添加每一個web(http/https)請求,費時又費力。而且有可能最後手動編寫的和實際發的請求有出入。

1。web性能測試以及web http請求基本原理。

再介紹錄製jmeter腳本之前,我們先談一下web性能測試。web就是調用http/https接口, 其實沒有是什麼複雜度可言。只是我們必須清楚,對於一個網站說,一個頁面並通常不是隻有一個http請求。如果需要測試一個rich web page,必須瞭解到這一點(測試http接口不在此類,雖然也是http協議,但是以http接口對外服務)。

例如這樣一個頁面(下面是html代碼)

record4

如果向服務器請求上面的一個頁面,則除了本身頁面的請求本身,還有一個css和img的資源。這樣打開這樣一個頁面,本需要有三個http請求。

1. http1 -> get the web page

2. the web page contain two resources

3. then request  http2 and http3 to  get the css file and image respecitively.

所以這樣就是發起了3個http請求,才完整的打開了一個頁面。瀏覽器實際是這麼做的,但瀏覽器作了很多優化。 (比如多線程下載資源,緩存圖片,css等資源)。說道這裏,不得不佩服loadrunner的強大。他可以儘量模擬瀏覽器的這些行爲,來保證測試的結果準確性。但這些參數都可以動態調整的。

2。實際錄製腳本

好,那麼我們現在就來實際錄製腳本吧,並且體驗一下真正一個頁面的實際http請求過程。這裏我們只談http,https不在本文所講範圍內。

錄製腳本目前有2種方法,我們先介紹jmeter proxy方法。另一個是badboy錄製的腳本轉化爲jmeter腳本,直接想了解badboy,請直接訪問

http://www.badboysoftware.biz/docs/jmeter.htm

jmeterproxy 來了。

1)啓動jmeter,這個不多說了。

2)選擇測試計劃,右鍵添加線程組(thread group)

3)選擇這個線程組,右鍵添加config element -〉 http默認請求

record

4)在http默認請求單元,填入server name 爲jakarta.apache.org. 這個是我們要錄製的頁面。其他地方不填

5)然後選擇剛纔那個縣城組,右鍵加入一個錄製控制器。位於Add>Logic Controllers -> Recording Controller

6) 選擇WorkBench,右鍵加入 Non-Test Elements -> Http proxy server

7)在http proxy server裏, 的patterns to include 裏,寫入.*\.html  這個是正則表達式,意思是錄製所有的html爲後綴名的頁面。 那麼如果你要錄製後綴名爲jsp或者do的,則寫入.*\.jsp  和 .*\.do 分別。

8)對於url 怕tterns to exclude的地方,是寫入不想被錄製的一些資源文件url。比如圖片等。 這些配置,視測試的具體場景而定。比如是否要測試靜態圖片等。

9)爲了調試錄製的情況,我們選擇http proxy server ,添加一個察看結果樹監聽器。這個以前我們曾經用過。

record

10)回到http proxy server然後,選擇開始啓動。這樣proxy server 就啓動了。

11)這樣我們打開一個瀏覽器,將瀏覽器的代理設置爲jmeter proxy server 的ip和端口號。 因爲proxy server 就在本地,所以就寫localhost 和端口即可。

12)設置好代理後,用瀏覽器訪問http://jakarta.apache.org/jmeter/index.html

13)隨便點擊一些連接,然後回到jmeter 的窗口,你查看結果樹就看到了錄製的http請求了。

record

14)這樣的腳本,我們就可以直接用來運行了。


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