文章目錄
安裝 Gatling
原本想要使用 Gatling 來進行 gRPC 的 load test,但光安裝 Gatling 就不是很理解,所以先了解並紀錄一下 Gatling 的基本安裝,我認為應該是我平常熟悉的開發語言跟工具不是 Java, Kotlin and Scala 在語法或是設定上都看不懂官網文件XD
關於 Gatling
- 先決條件:安裝 64bits OpenJDK LTS:
8,11,17> 其他 JVM 像是JDK 12,client JVMs,32bits systemsorOpenJ9都不支援 - Gatling 3.7 開始支援
Java,KotlinandScala來撰寫測試腳本 > 舊版本只能使用Scala - 不要使用 maven central 上的
M版本 > 僅供 內部 與 Gatling Enterprise 使用
基本環境說明
- macOS Monterey 12.3
- openjdk 17.0.2 2022-01-18 LTS
- Apache Maven 3.8.5
- Gradle 7.4.2
- Sbt 1.6.2
- Scala 2.12.15
- Gatling 3.7.6
- io.gatling:gatling-maven-plugin 4.1.5
- io.gatling.gradle 3.7.6.2
- io.gatling:gatling-sbt 4.1.5
安裝方式
先決條件:安裝 64bits OpenJDK LTS:
8,11,17其他 JVM 像是
JDK 12,client JVMs,32bits systemsorOpenJ9都不支援
至 Open Source page 下載整合壓縮檔
- 整合壓縮檔只支援
Java跟Scala - 整合包內容如下:
bin:Gatling跟Recorder的啟動腳本conf:Gatling,Akka跟Logback的設定檔lib: Gatling 跟相依套件user-files:simulations: 用來放測試情境程式的位置resources: 非測試程式的其他資源
results: 測試結果
- 整合壓縮檔只支援
使用 build tool plugin
透過 build tool 搭配 gatling plugin 來執行測試
Maven:支援
Java,KotlinandScalamacOS 安排 Maven
brew install maven詳細資訊請參考 Gatling 官方文件:Maven Plugin
設定方式:在專案的
pom.xml新增以下設定<dependencies> <dependency> <groupId>io.gatling.highcharts</groupId> <artifactId>gatling-charts-highcharts</artifactId> <version>MANUALLY_REPLACE_WITH_LATEST_VERSION</version> <scope>test</scope> </dependency> </dependencies> <plugin> <groupId>io.gatling</groupId> <artifactId>gatling-maven-plugin</artifactId> <version>MANUALLY_REPLACE_WITH_LATEST_VERSION</version> </plugin>gatling-charts-highcharts與gatling-maven-plugin版本可以到 Maven Central 查詢各語言的範例
Gradle:支援
Java,KotlinandScalamacOS 安裝 Gradle
brew install gradle詳細資訊請參考 Gatling 官方文件:Gradle Plugin
設定方式:在專案的
build.gradle新增以下設定plugins { id 'io.gatling.gradle' version "MANUALLY_REPLACE_WITH_LATEST_VERSION" }io.gatling.gradle的版本可以至 Gradle Plugins Portal 查詢各語言範例
Sbt:僅支援
Scala- 詳細資訊請參考 Gatling 官方文件:SBT Plugin
設定方式:
macOS 安裝 sbt
brew install sbt在專案的
project/plugins.sbt新增相依套件addSbtPlugin("io.gatling" % "gatling-sbt" % "MANUALLY_REPLACE_WITH_LATEST_VERSION")在專案的
build.sbt新增相依套件並啟用enablePlugins(GatlingPlugin) libraryDependencies += "io.gatling.highcharts" % "gatling-charts-highcharts" % "MANUALLY_REPLACE_WITH_LATEST_VERSION" % "test" libraryDependencies += "io.gatling" % "gatling-test-framework" % "MANUALLY_REPLACE_WITH_LATEST_VERSION" % "test"gatling-charts-highcharts,gatling-test-framework,gatling-sbt版本可以至 Maven Central 查詢
使用 IDE
IntelliJ IDEA
原生就已支援
Java,Kotlin,mavenandgradle,只有Scala需要額外安裝套件Visual Studio Code
安裝語言的相應套件可以正確 build 專案,但無法如同官網說明的單執行
Engine會出現 build error

心得
Gatling 提供的安裝方式好幾個,不過對於非原生 Java, Kotlin and Scala 的使用者並不友善,像是 build tool 的整合,以我一個其他語言的開發人員只想做 load test 還得要去了解 Maven Gradle Sbt 可以想見一定是障礙重重;以 IDE 的整合而言,IntelliJ IDEA 使用上沒問題,但要非 Java, Kotlin 開發人員只為了 load test 安裝,我個人覺得太材小用了,而常見的 Visual Studio Code 卻沒有更完整的設定說明要重新了解整個開發跟工具的生態圈,進入門檻過高,實在可惜
參考資訊
文章作者 Yowko Tsai
上次更新 2022-04-12
授權合約
本部落格 (Yowko's Notes) 所有的文章內容(包含圖片),任何轉載行為,必須通知並獲本部落格作者 (Yowko Tsai) 的同意始得轉載,且轉載皆須註明出處與作者。
Yowko's Notes 由 Yowko Tsai 製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款 釋出。
