Jmeter 介紹
Apache JMeter應用程序是開源軟件,旨在為負載測試功能行為和測量性能的100%純Java應用程序。它最初是為測試Web應用程序而設計的,但后來擴展到其他測試功能
常用壓力測試工具對比
- LoadRunner:性能穩定,壓測結果及細度大,可以自定義腳本進行壓測,過於重大,功能比較繁多;
- Apache ab :模擬多線程並發請求,ab命令對發布負載的計算機要求很低,即不會占用過多cpu,也不會占用過多的內存,但卻會給目標服務器造成巨大的負載,簡單的DDOS攻擊等;
- webbench:webbench首先fork出多個子進程,每個子進程都循環做web訪問測試。子進程把訪問的結果通過pipe告訴父進程,父 進程做最終的統計結果。
Jmeter 基本使用場景介紹
壓測不同的協議和應用 | 使用場景及優點 |
---|---|
Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …) | 功能測試 |
SOAP / REST Webservices | 壓力測試 |
FTP | 分布式壓力測試 |
Database via JDBC | 純java應用 |
LDAP 輕量目錄訪問協議 | 上手容易,高性能 |
Message-oriented middleware (MOM) via JMS | 提供測試數據分析 |
Mail - SMTP(S), POP3(S) and IMAP(S) | 各種報表數據圖形展示 |
TCP等等 |
Jmeter本地快速安裝
安裝jdk
因為Jmeter是純java應用,so其運行環境是需要jdk的,至於jdk下載方式,自行查詢;https://blog.csdn.net/qq_36819281/article/details/83658585
安裝Jmeter
GUI圖形界面的安裝
windows: https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-4.0.zip
mac/linux: https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-4.0.tgz
Jmeter 目錄文件介紹
bin 核心可執行文件,包含配置
jmeter.bat windows 可執行文件
jmeter mac/linux啟動文件
jmeter-server mac/linux分布式壓測使用的啟動文件
jmeter-server.bat windows分布式壓測使用的啟動文件
jmeter-properties 核心配置文件
extras 插件拓展的包
lib 核心的依賴包
ext 核心包
junit 單元測試包
Jmeter GUI語言切換
- GUI修改:menu -> options -> choose language
- 配置文件修改:bin目錄下 -> jmeter.properties,找到默認
#language=en
修改為language=zh_CN
Jmeter基礎功能組件介紹 Thread Group 和 Sampler(采樣器)
下面先放一張圖(windows)
- 右鍵"測試計划" --> add --> thread group(控制總體並發)
Number of Threads(users): 虛擬用戶數,一個虛擬用戶占用一個線程或者進程
Ramp-Up Period(in seconds):全部線程執行時長
Loop Count:循環次數
Forever:是否永遠執行 - 右鍵"Thread Group" --> add --> Sampler -->HTTP Request(一個線程組下可以增加很多Sampler)
Name:請求名稱
Comments:說明
WebServer:web服務器工作區
Protocol:協議,不填默認是Http
ServerName or IP:服務器地址或者ip
Port Number:端口號
Method:請求方式
Path:資源路徑
Content encoding:內容編碼 - 右鍵"HTTP Request(查看當前請求結果)/Thread Group(全局)" --> add --> Listener(監聽器) --> View Results Tree(查看結果樹)
Jmeter post請求示例
以登錄接口為例
在BodyData中添加請求json數據;點擊導航欄第一個右置三角標識;
此處可以看到,接口返回了錯誤信息,原因就是HTTP Header Manager(HTTP信息頭管理器)沒有約定數據傳輸方式,此時咱們修改一下里面的值為 Content-Type application/json 再次執行
此時就可以看出已經得到了服務器的正常響應
Jmeter 用戶變量設置(拓展)
如果咱們在做項目時,一個項目下添加了若干個HTTP Request,還是需要挨個配置域名,那就會略顯麻煩了,在Jmeter中還有一個方法可以簡化我們的操作;
進入測試計划,點擊add 在 User Defined Variables 中可以設置一個全局變量;方便我們后面使用!!!
調用此變量時格式為 ${host}