jmeter學(xué)習(xí)筆記

          Posted on 2007-12-13 11:06 lauber 閱讀(2720) 評論(1)  編輯  收藏
          轉(zhuǎn)  jmeter學(xué)習(xí)筆記  

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

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



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

          Feedback

          # re: jmeter學(xué)習(xí)筆記   回復(fù)  更多評論   

          2009-01-06 17:26 by smilepertime
          好東西!我轉(zhuǎn)載了

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


          網(wǎng)站導(dǎo)航:
           

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

          Copyright © lauber

          主站蜘蛛池模板: 旺苍县| 海南省| 尼木县| 济宁市| 龙陵县| 南召县| 富裕县| 江口县| 灵川县| 新源县| 应用必备| 江源县| 德安县| 利津县| 桐柏县| 犍为县| 双牌县| 临沭县| 宁远县| 宿松县| 左权县| 中西区| 石嘴山市| 临湘市| 五河县| 贡觉县| 柘荣县| 娄烦县| 余庆县| 凤台县| 和平县| 南和县| 邹平县| 沙雅县| 手游| 化隆| 岳西县| 乳山市| 广水市| 洪湖市| 赫章县|