歡迎查閱Apache JMeter(性能自動化測試框架體系)
Apache JMeter
JMeter是Apache組織開發(fā)的基于Java的壓力測試工具楣富。用于對軟件做壓力測試,它最初被設(shè)計用于Web應(yīng)用測 試但后來擴(kuò)展到其他測試領(lǐng)域
? 可用于壓力測試及性能測試踪危,數(shù)據(jù)庫測試济似,Java程序的測試掉伏,HTTP及FTP測試宜鸯,Web Service測試等等
? 可用于對靜態(tài)的和動態(tài)的資源(文件,Servlet罢坝,Perl腳本,java 對象搅窿,數(shù)據(jù)庫和查詢嘁酿,F(xiàn)TP服務(wù)器等等)的性能進(jìn)行測試
? 可用于對服務(wù)器、網(wǎng)絡(luò)或?qū)ο竽M巨大的負(fù)載男应,來在不同壓力類別下測試它們的 強(qiáng)度和分析整體性能
? 可用于對應(yīng)用程序做功能/回歸測試闹司,通過創(chuàng)建帶有斷言的腳本來驗證你的程序返回了你期望的結(jié)果
源碼地址:
?Gitee地址:https://gitee.com/hagyao520/JMeter.git
?GitHub地址:https://github.com/hagyao520/JMeter.git
框架介紹
JMeter + Dat + Excel + Ant + Jenkins
? 使用JMeter作為性能測試驅(qū)動程序
? 使用Dat作為數(shù)據(jù)參數(shù)化文件,以供JMeter調(diào)用
? 使用Excel作為測試報告數(shù)據(jù)管理工具沐飘,方便統(tǒng)計數(shù)據(jù)开仰,進(jìn)行數(shù)據(jù)分析生成報表
? 使用Ant作為Java的build打包工具,方便項目代碼打包
? 使用Jenkins作為自動化持續(xù)集成平臺薪铜,方便自動編譯众弓,自動打包,自動運(yùn)行測試腳本隔箍,郵件發(fā)送測試報告
主要特性
1. 能夠?qū)TTP和FTP服務(wù)器進(jìn)行壓力和性能測試谓娃, 也可以對任何數(shù)據(jù)庫進(jìn)行同樣的測試(通過JDBC)
2. 完全的可移植性和100%純java,高可擴(kuò)展性
3. 完全 Swing 和輕量組件支持(預(yù)編譯的JAR使用 javax.swing.*)包
4. 完全多線程 框架允許通過多個線程并發(fā)取樣和 通過單獨的線程組對不同的功能同時取樣
5. 精心的GUI設(shè)計允許快速操作和更精確的計時
6. 緩存和離線分析/回放測試結(jié)果
7. 可鏈接的取樣器允許無限制的測試能力蜒滩,具有提供動態(tài)輸入到測試的功能(包括Javascrīpt)
8. 各種負(fù)載統(tǒng)計表和可鏈接的計時器可供選擇
9. 數(shù)據(jù)分析和可視化插件提供了很好的可擴(kuò)展性以及個性化
10. 支持腳本變成的取樣器(在1.9.2及以上版本支持BeanShell)
環(huán)境配置
測試實例
- JMeter里面的元件很多滨达,邏輯控制器,配置元件俯艰,定時器捡遍,Sampler,監(jiān)聽器等等竹握,先給出一個實例画株,慢慢了解元件的使用方法。測試一個網(wǎng)站啦辐,我們至少需要:用戶谓传,發(fā)送請求,查看結(jié)果這三個過程
一芹关、添加線程組
-
在“測試計劃”上右鍵续挟,選擇“添加”---“Thread Users”---“線程組”,如下圖所示:
-
其中侥衬,對我們有影響的參數(shù)是線程數(shù)(設(shè)置發(fā)送請求的用戶數(shù)目)诗祸,Ramp-up period: 每個請求發(fā)生的總時間間隔跑芳,單位是秒,循環(huán)次數(shù)(請求發(fā)生的重復(fù)次數(shù))直颅。如果我們需要JMeter模擬五個請求者(也就是五個線程)博个,每個請求者連續(xù)請求兩次,則如下圖設(shè)置:
二际乘、添加請求
-
我們要訪問一個網(wǎng)頁坡倔,比如是百度首頁,則是http請求脖含,則添加http請求罪塔,在線程組上右鍵---“添加”---“Sampler”---“HTTP請求”
-
http請求的屬性值中“Web服務(wù)器名稱或IP”填寫www.baidu.com就可以了:如下圖所示:
三、加監(jiān)視器
-
監(jiān)視器的種類很多养葵,根據(jù)自己的需要添加征堪,我們選擇“查看結(jié)果樹”。在線程組上右鍵---“添加”---“監(jiān)視器”---“查看結(jié)果樹”关拒,如下圖所示:
四佃蚜、運(yùn)行
- 運(yùn)行完畢后,即可查看結(jié)果
五着绊、測試報告:
- 測試報告分為四種谐算,前三種是Jmeter自帶的聚合報告,圖形結(jié)果归露,表格結(jié)果洲脂,最后一種是Excel做的數(shù)據(jù)分析表
聚合報告
圖形結(jié)果
表格結(jié)果
Excel報表
- Excel做的數(shù)據(jù)分析表,更加美觀剧包,清晰明朗
六恐锦、Jnekins持續(xù)集成:
- 搭建Jenkins環(huán)境,具體請參考: https://blog.csdn.net/wuxuehong0306/article/details/50016547
- 配置Jenkins自動化持續(xù)集成項目疆液,即可實現(xiàn)遠(yuǎn)程服務(wù)器自動(構(gòu)建一铅,編譯,打包)運(yùn)行腳本堕油,發(fā)送郵件測試報告等
七潘飘、感謝
如果您覺得這個框架對您有用,您可以捐贈下我馍迄,讓我有理由繼續(xù)下去福也,非常感謝。
非常感謝您花費時間閱讀攀圈,祝您在這里記錄、閱讀峦甩、分享愉快赘来!
歡迎留言評論现喳,有問題也可以聯(lián)系我或者加群交流...
作者:@劉智King
QQ:1306086303
QQ群:126325132
Email:hagyao520@163.com