測試工具jmeter-從入門到精通-匯總
目錄
=========================================
概述
簡介
- apache公司用java平台開發的一款測試工具
可以做什么
- 接口測試-多
- 性能測試
- 壓力測試-多
- 數據庫測試
- java程序測試
優點
- 開源免費
- 支持多協議-HTTP,tcp,udp
- 輕量級
- 功能強大
缺點
- 無法驗證JS程序和頁面UI,必須配合selenium使用
返回目錄
=========================================
安裝與啟動
准備
- java環境
下載
安裝版本選擇
路徑
- 解壓zip文件后,放在一個沒有中文字符的路徑下
啟動
- jmeter路徑的bin目錄下,雙擊jmeter.bat啟動jmeter
- 注:Linux下,用jmeter.sh啟動
- Jmeter 是支持中文的, 啟動Jmeter 后, 點擊 Options -> Choose Language 來選擇語言
插件安裝
- jmeter本身支持的包不多,一些功能需要下載插件;
- 下載路徑:https://jmeter-plugins.org/install/Install/
- 放置路徑:jmeter的 lib/ext 路徑下
- 重啟后,在jmeter的選項最下方可以看到插件
jmeter目錄介紹
-
啟動cmd窗口
-
bin
-
其他目錄
- lib:存放jar包,是jmeter的核心文件;
- printable_docs:存入jmeter用戶手冊,幫助文檔
返回目錄
=========================================
腳本入門
主頁面布局
向百度發送請求
向百度發送請求操作
-
步驟1:添加測試計划
- 注:開啟后,默認有一個已經創建好的測試計划
-
步驟2:添加線程組
-
步驟3:添加HTTP請求
-
步驟4:配置HTTP請求
-
步驟5:添加查看結果樹組件(生成的結果樹界面不作任何配置)
-
步驟6:執行測試計划
返回目錄
=========================================
測試計划元件
名稱修改
- 測試計划:可將名稱設置為“項目名稱”
- 線程組:可將名稱設置為“業務流程”
- HTTP請求:可將名稱可以設置為“接口名稱”
測試計划test plan
-
可進行相應的修改:將名稱設置為項目名稱
線程用戶thread user
線程組:
-
線程數:即請求的虛擬用戶數,不等於並行用戶數。
-
ramp-time:完成所有線程執行的時間設置。
-
循環次數:對所有線程進行循環。
取樣器sampler
作用:
-
性能測試中,向服務器發送請求,記錄響應信息,記錄響應時間的最小單元。
-
常見:HTTP請求,ftp請求,tcp請求等。
邏輯控制器login controler
兩類
-
一類:控制測試計划中取樣器節點發送請求的邏輯順序,如if,switch,循環等。
-
一類:組織和控制測試計划中取樣器節點,如事務控制器,吞吐量控制器。
配置元件config element
-
用於提供對靜態數據配置的支持,即參數化。
定時器timer
-
用於設置操作之間的等待時間
前置處理器per processor
-
用於在實際請求發出之前,對即將發送的請求進行特殊處理。
后置處理器post processor
-
用於在取樣器發出請求的服務器響應進行處理。
斷言assertion
-
用於檢測測試中得到的響應數據是否符合預期。
監聽器listener
-
對測試結果進行處理和可視化展示,如圖形結果,查看結果樹,聚合報告等。
返回目錄
=========================================
jmeter運行原理
在jmeter中,以線程的方式運行
- 因為如果是進程方式,並發時,開銷太大
jmeter通過線程組來驅動多個線程運行測試腳本
運行方式:GUI模式(界面窗口模式);命令行模式(cmd)
- 命令行模式:對負載機的資源消耗更小。
- GUI模式:對電腦的資源消耗較大,無法實現大的並發和壓力測試;主要用於創建和調試。
注:執行jmeter的電腦叫做負載機
返回目錄
=========================================
jmeter腳本要素
接口三要素
-
請求地址,請求參數,返回值
jmeter腳本要素
-
測試計划:腳本中測試計划只能有一個
-
在測試計划中,至少有一個線程組
-
在線程組中,至少有一個取樣器
- 取樣器:發送請求,記錄響應時間和相應內容
-
在測試計划中,必須有監聽器
返回目錄
=========================================
jmeter錄制腳本
使用工具badboy錄制
-
注:badboy只能錄制web端,不能錄制客戶端;
-
badboy安裝:
- 傻瓜式,可以自定義安裝路徑。
-
打開:
- 安裝時在開始菜單欄中添加,因此可以通過開始菜單打開。
-
錄制:
- 打開后,即是recording狀態,輸入網址后點擊即可開始錄制;
- 在右側進行操作;
-
停止記錄並保存為jmeter:
- 停止記錄的紅色按鈕可以停止記錄;
- 保存為jmeter,之后可以從jmeter導入錄制好的腳本。
-
jmeter導入:
- 打開 -- 找到.jmt文件,並選擇;
- 要查看結果,需要手動添加監聽器,如查看結果樹,然后進行運行等其他操作。
使用jmeter自身代理錄制移動端
-
配置jmeter
- 創建新的測試計划,並添加一個線程組;
- 在測試計划右鍵添加HTTP代理服務器:添加-非測試元件-HTTP代理服務器
- 配置HTTP代理服務器:端口8888默認(如果被占用,再修改),HTTP domains:localhost或本地IP,目標控制器選擇"測試計划-線程組"
- 啟動:按代理服務器內部的啟動,不是菜單欄的啟動,啟動后OK,開始錄制。
-
配置移動端(手機端)
- 獲取本地域名和端口號:pc端->cmd->ipconfig查詢ipv4網絡信息;
- 手機端:長按WiFi-(修改網絡-高級選項-)代理-手動-輸入主機名和端口號-修改網絡(同fiddler配置)
- 手機端操作:如登錄操作,jmeter里有相應的記錄;點擊停止來停止錄制。
- 線程組添加監聽器-查看結果樹:可以查看執行結果;
- 保存jmeter文件:線程組右鍵-選中部分保存為。
返回目錄
=========================================
jmeter配置文件修改
路徑
-
jmeter/bin目錄下:打開 jmeter.properties 配置文件,修改后的語句去掉注釋井號
-
配置后保存退出,重啟jmeter
中文亂碼
-
查找csvdataset.file.encoding_list
-
修改為
csvdataset.file.encoding_list=UTF-8|UTF-16|ISO-8859-15|US-ASCII
-
去掉本條語句前的井號,並重啟jmeter
-
注:若上述修改沒有用,則需要對源碼進行修改,即對jar包進行反編譯。
默認語言
-
查找language
-
修改為
language=zh_CN
(表示中文簡體) -
去掉本條語句前的井號,並重啟jmeter
返回目錄
=========================================