引言
《使用Gatling進行性能測試》是一個專欄,一共有5篇文章,包括Gatling項目創建、錄製腳本、腳本調試、模擬設置、報告解讀幾部分,主要適用於剛開始學習使用Gatling的小白,或者看Gatling官方英文文檔困難的小夥伴。我也是第一次學Gatling,都是按官方文檔來的,過程中如果有任何問題,歡迎大家評論或私信交流。
爲什麼要使用Gatling進行性能測試?
Gatling是一款開源的性能測試工具,它有兩個版本,一個是免費版,一個是企業版。企業版相對於免費版來說,多出的功能主要有:支持雲平臺分佈式測試,更多類型的CI集成(比如Bamboo、TeamCity),有一個可視化的管理頁面,可以查看實時報告,也支持LDAP認證。本專欄使用的是Gatling免費版的,所以基於此講一下它的優點。如下:
(1)可以適用於任何操作系統;
(2)性能好,一個線程可以模擬多個用戶;
(3)case as code,腳本語言是scala,是一款基於java的DSL,易於擴展;
(4)CI集成簡單,可以和Jenkins集成;
(5)和Git集成,方便管理代碼版本;
(6)支持HTTP代理腳本錄製和HAR File腳本錄製;
(7)生成的報表豐富易懂;
(8)安裝簡單。
創建你的第一個Gatling項目
Gatling的安裝方式有多種,可以直接下載安裝包安裝,可以使用構建工具安裝,爲了之後便於版本管理和CI集成,這裏選用的安裝方式是使用maven plugin,使用IntelliJ IDEA開發,操作系統是Mac OS。
環境準備
- 準備java環境,安裝OpenJDK 8或以上版本。
- 安裝構建工具,maven/gradel。
- 安裝IDE,IntelliJ/Eclipse。
- 安裝chrome瀏覽器。
創建項目
- 使用maven直接生成Gatling項目結構。
(1)從terminal進入自定義目錄:mvn archetype:generate
,然後出現很多選項,輸入關鍵字Gatling搜索,然後選擇,如下圖
(2)配置maven項目參數,如下圖:
- 使用IDE打開項目
(1)安裝scala plugin,如下圖所示:
(2)打開項目,如下圖所示:
Import Project–>找到computerDatabase–>使用maven打開
- 項目配置
(1)將src目錄標註爲測試源,如下圖所示:
(2)配置scala SDK,打開項目後會出現沒有Scala SDK的選項,點擊setup,配置完成後,就可以new scala calss了。
將項目推送到github
爲了之後便於查看版本變更以及CI集成,需要將項目推送到github,步驟如下:
- git init
- 添加.gitignore 文件,可使用插件.ignore,也可以手動創建.gitigore文件
.gitignore文件內容:
/.idea/
/computerDatabase.iml
/target/
*.class
*.log
- git status
- git add .
- git commit -m “”
- github創建repository
- git remote add origin 遠程倉庫地址
- git pull origin master --allow-unrelated-histories
- git push -u origin master
項目結構詳解
- resources
resource目錄顧名思義就是存儲項目資源的,存放的是一些項目的測試數據和配置文件
(1)bodies:Gatling默認創建的目錄,用於存儲接口調用的body體;
(2)data:Gatling默認創建的目錄,用於存儲測試數據;
(3)gatling.config:Gatling的整體配置,具體內容可以點開後查看,uncomment之後生效;
(4)recorder.config:recorder的配置,recorder是Gatling自帶的錄製工具,第二節會詳細講述;
(5)logback.xml:用於配置Gatling打印的日誌格式、級別等; - scala
用於存放測試代碼的目錄。
(1)Engine:運行測試的類;
(2)Recorder:運行recorder的類,可以右鍵點擊運行,會打開一個recorder的UI;
(3)IDEPathHelper:對Gatling項目目錄層級的解釋,所以看這個也可以幫你分析其目錄層級。
第一節的內容就完成了,主要介紹了Gatling以及如何創建和配置Gatling項目,下一節會詳細講解如何使用recorder錄製腳本。