jmeter學習筆記

          Posted on 2007-12-13 11:06 lauber 閱讀(2722) 評論(1)  編輯  收藏
           jmeter學習筆記  

          因為要對之前做的wap網站進行壓力測試,所以今天去下了一個jmeter,還找了不少相關資料,發現網上的教程已經很完備,常用的基本功能都講到了,還有專門的用戶手冊和FAQ,下面按照jmeter的學習順序,列出相應的網址,最后加上自己的一點心得。
          1.jmeter下載
          jmeter是apache的一個項目,可以在這里下載:http://jakarta.apache.org/jmeter/index.html
          下載回來的壓縮包里面有官方文檔,不過是英文的,國內已經有人進行了翻譯,在這個網址:http://wiki.javascud.org/pages/viewpage.action?pageId=5493
          2.jmeter的基本操作
          下載回來之后,按照這個網址的介紹開始一個簡單的測試 http://www.testage.net/AutoTest/Opentest/200602/281.htm
          3.jmeter高級應用
          簡單的web網站測試是自己手動建立一個http請求,但是如果是一系列的操作,則必須使用腳本錄制功能。jmeter提供了類似LoadRunner等商業測試工具的腳本錄制功能,原理都是相同的:jmeter創建一個代理服務器,然后你在瀏覽器中將代理服務器設為jmeter的代理服務器,這樣所有的頁面訪問都會經過該代理服務器,jmeter就可以對其中的訪問信息進行記錄了,詳細的使用方法,可以看這兩篇文章
          http://www.matrix.org.cn/resource/article/2006-02-22/JMeter+tips_44226.html
          http://www.testage.net/AutoTest/Opentest/200602/282.htm
          其中也涉及到了一些定時器的使用,那樣可以更準確的模擬用戶操作
          4.jmeter的其他測試功能
          jmeter原本只是用來對web服務器進行壓力測試的,但經過不斷的擴充已經可以用于多種測試了,比如數據庫、jms等等,這篇文章對jmeter各個測試功能作了簡單介紹,詳細的可以參考手冊
          http://www.oioj.net/blog/user1/2826/archives/2006/351695.shtml
          5.用jmeter進行分布式測試
          如果單純在一臺機器上模擬多個用戶并發,由于性能限制不能模擬太多的用戶,這時可以用jmeter的遠程測試功能同時啟動多臺機器進行模擬,以取得更加真實的效果
          http://www.cnblogs.com/jackei/archive/2006/09/14/504638.html

          最后加上一些自己的心得:
          1.如何測試wap網站
          測試wap本質上是和web一樣的,都是經過代理服務器進行腳本錄制,不過在我使用jmeter的過程中發現一個問題,在通過jmeter的http proxy server訪問tomcat上的一個wap站點時,一些關于wap頁面的頭信息被改變了,當你用winwap等客戶端模擬器訪問時,不能識別出是wap頁面,也就是說,代理服務器把wap頁面當作web頁面轉發給客戶端,導致無法打開。我暫時沒有找到解決方法,權宜之計是客戶端換成openWave,這個客戶端可以直接訪問web類型的頁面,反正我們的目的只是進行壓力測試
          2.如何模擬不同用戶
          現在的網站都是要先進行用戶驗證才能進行后續操作,如果單純按照上面的腳本錄制方式,那么模擬用戶操作時,輸入的用戶名密碼都是相同的,顯然不可行,因為除了第一個用戶其他都不能登錄了。我們可以使用jmeter的“自定義用戶變量”來模擬多個用戶
          在jmeter手冊有提到一個組件叫CSV Data Set Config,專門用于從文本讀入信息,保存到變量中,在其他組件中可以引用該變量。具體步驟如下:
          1.新建一個文本文件,作為例子,文件內容如下:
          aaa,111
          bbb,222
          這里用英文逗號為分隔符,也可以用其他為分隔符,在CSV Data Set Config中可以設置。
          2.在你的測試計劃中添加一個CSV Data Set Config,然后填寫若干屬性,其中,文件名是指保存信息的文件目錄,可以相對或者絕對路徑;文件編碼一般可以不填,使用操作系統默認編碼;變量一欄填入“user,pass”,表示兩個變量名;分隔符一欄填入“,”(也是默認值),對應上一步文本文件里的分隔符;另外兩個選項是問你是不是循環讀入,因為CSV Data Set Config一次讀入一行,分割后存入若干變量中交給一個線程,如果線程數超過文本的記錄行數,那么可以選擇從頭再次讀入
          3.在需要使用變量的地方,比如之前記錄的操作腳本中,需要提交的表單字段包含用戶名密碼,我們就可以用${變量名} 的形式進行替換,例如${user}和${pass}
          4.附帶說一下,通常有用戶認證的地方都要用到cookie或者session,那么最好在測試計劃中加入一個http cookie 管理器,直接添加一般不需要任何設置,否則可能會出現登錄失敗(在測試結果中,如果看到多次請求不同頁面返回的字節數卻是相同的,那多半是登錄失敗了)
          5.最后,運行線程組即可看到效果,如果失敗,那么檢查一下文本的路徑,變量大小寫等等,手冊上說使用相對文本路徑時,要以測試配置文件(默認是jmeter的bin目錄)的目錄為參考,但是我試過似乎不行,換成絕對路徑就可以了
          6.詳細的情況可以參考手冊,不過中文版的似乎沒有翻譯完全,還是最好看英文吧 



          Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1922535

          Feedback

          # re: jmeter學習筆記   回復  更多評論   

          2009-01-06 17:26 by smilepertime
          好東西!我轉載了

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          posts - 9, comments - 5, trackbacks - 0, articles - 0

          Copyright © lauber

          主站蜘蛛池模板: 金湖县| 湛江市| 玉龙| 赤水市| 溧水县| 马尔康县| 普陀区| 景德镇市| 阳原县| 武城县| 永仁县| 临城县| 永丰县| 韶关市| 平乐县| 光山县| 通山县| 临朐县| 福建省| 海伦市| 府谷县| 五家渠市| 普格县| 扶绥县| 三门县| 左云县| 金乡县| 金寨县| 白城市| 简阳市| 五常市| 汝南县| 新和县| 长汀县| 武功县| 丰台区| 庐江县| 大悟县| 钟山县| 新龙县| 阆中市|