您的位置:軟件測試 > 開源軟件測試 > 開源性能測試工具 > Jmeter
Jmeter錄制復雜web測試腳本
作者:網絡轉載 發(fā)布時間:[ 2016/12/8 16:45:17 ] 推薦標簽:性能測試工具 Jmeter

  jmeter的功能簡單,不需要有腳本語言的編寫經驗,純圖形界面添加測試場景, 用起來上手很快。但是如果手動添加每一個web(http/https)請求,費時又費力。而且有可能后手動編寫的和實際發(fā)的請求有出入。
  1web性能測試以及web http請求基本原理。
  再介紹錄制jmeter腳本之前,我們先談一下web性能測試。web是調用http/https接口, 其實沒有是什么復雜度可言。只是我們必須清楚,對于一個網站說,一個頁面并通常不是只有一個http請求。如果需要測試一個rich web page,必須了解到這一點(測試http接口則簡單的許多,只是單一的http接口請求)。
  例如這樣一個頁面(下面是html代碼)

  如果向服務器請求上面的一個頁面,則除了本身頁面的請求本身,還有一個css和img的資源。這樣打開這樣一個頁面,本需要有三個http請求。
  1. http1 -> get the web page (首先獲取你要訪問的頁面的html代碼)
  2. the web page contain two resources (假設該頁面,有一個css資源和一個圖片)
  3. then request  http2 and http3 to  get the css file and image respecitively. (則會繼續(xù)發(fā)起獲取css和圖片的請求)
  所以這樣是發(fā)起了3個http請求,才完整的打開了一個頁面。瀏覽器實際是這么做的,但瀏覽器作了很多優(yōu)化。 (比如多線程[一般2-6個http connection,不同瀏覽器內核不同],  http keep-alive,緩存圖片,css等資源)。說道這里,不得不佩服loadrunner的強大。他可以盡量模擬瀏覽器的這些行為,來保證測試的結果準確性。但這些參數都可以動態(tài)調整的。(通常我們錄制的富web頁面, 也是rich webpage, 通常需要使用事務控制器來輔助我們進行度量數據, 關于事務控制器請訪問"jmeter如何使用事務控制器")
  注意: 新的jmeter-plugins 已經支持了webdriver sampler,  已經可以模擬瀏覽器的行為,更真實的模擬用戶訪問web的行為, 可以得到更真實的性能數據. 具體是否使用,還需要根據自己的測試場景進行判斷. (作者目前并不建議盲目的使用, 需要慎重考慮. 原因: 用戶體驗方面的性能測試可以由其他工具完成, 而性能測試則專注于特定的問題 )
  具體資料信息,請訪問 http://jmeter-plugins.org/wiki/WebDriverSet/
  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默認請求

  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 patterns to excllude的地方,是寫入不想被錄制的一些資源文件url(往往我們根據后綴名來進行區(qū)分)。比如不想錄制http發(fā)起獲取圖片的請求,需要寫上*.jpg 或者 *.png 。 這些是否配置,視測試的具體場景而定。比如是否要測試靜態(tài)圖片等。
  9)為了調試錄制的情況,我們選擇http proxy server ,添加一個察看結果樹監(jiān)聽器。這個以前我們曾經用過。

 。保埃┗氐絟ttp proxy server然后,選擇開始啟動。這樣proxy server 啟動了。
 。保保┻@樣我們打開一個瀏覽器,將瀏覽器的代理設置為jmeter proxy server 的ip和端口號。 因為proxy server 在本地,所以寫localhost 和端口即可。
 。保玻┰O置好代理后,用瀏覽器訪問http://jakarta.apache.org/jmeter/index.html
  13)隨便點擊一些連接,然后回到jmeter 的窗口,你查看結果樹看到了錄制的http請求了。

 。保矗┻@樣的腳本,我們稍做修改,可以使用了。
 

軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd