IntelliJ IDEA のインストールから Gatling を実行するまで
Gatling というソフトウェアをご存知ですか?
Gatling は Scala で作られた負荷試験ツールです。
- メモリが足りないとあまり並列数を上げられない(らしい)
- XMLで書かれたテストデータを管理するのがツラそう
というイメージがありました。
一方 Gatling は
- Scala で書けるので可読性・再利用性が高そう
- 負荷のかけ方が柔軟に設定できそう
- レポートが見やすそう
と良い感じがしたので、試しに使ってみました。
ドキュメントを見ながらコードを書いてみたものの、
Java や Scala の初心者の自分にとってはやや難しく、
IDEを使ってみようと思い立ちましたがちょっと詰まったので、
開発・テスト環境を整えるためにやったことをまとめようと思います。
1. IntelliJ IDEA のインストール
IDE として IntelliJ IDEA を選択しました。
無料の Community エディションをインストールします。
("イデア"じゃなくて"アイデア"なんですね…)
ダウンロード IntelliJ IDEA: JetBrains の人間工学に基づく高機能 Java IDE
2. Scala プラグインのインストール
IntelliJ IDEA を起動したら、
"Plugin" → "Scala" プラグインをインストールします。
3. プロジェクトの作成
"Projects" → "New Project" を選択します。
"Maven" → "Create from archetype" にチェック → "Add Archetype..." を選択します。
Maven Central Repository Search から、
gatling の archetype を探してダイアログに入力します。
いくつかある中で次のものを選びました。
(違いはあまりわかっていないです)
項目 | 値 |
---|---|
GroupId | io.gatling.highcharts |
ArtifactId | gatling-highcharts-maven-archetype |
Version | 3.5.1 |
追加された archetype を選択 → "Next" を選択します。
プロジェクト名を入力 → "Next" を選択します。
"Finish" を選択します。
4. Scala SDK のインストール
プロジェクトが開いたら、左側のウィンドウから
"プロジェクト名" → "src" → "test" → "scala" → "Engine" をクリックして開きます。
すると、"Setup Scala SDK" と表示されるので、
クリックして必要なモジュールをインストールします。
たしか最初は Scala SDK をダウンロードする必要があったので、
"Create..." をクリック → "Download..." をクリック → バージョンを選択して "OK" をクリックして
SDK をダウンロードします。
ダウンロードが完了したら、
"Use library" で選択して SDK をインストールします。
5. 実行
実行する際は、
"Engine" もしくは "Recorder" を右クリック → "Run" をクリックします。
自分の場合は、
Recorder を実行すると次のようなログが出力されました。
01:06:44.047 [main] INFO io.gatling.core.config.GatlingConfiguration$ - Gatling will try to use 'gatling.conf' as custom config file. # # A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007fff4f5ef932, pid=4532, tid=25248 # # JRE version: OpenJDK Runtime Environment AdoptOpenJDK (15.0.2+7) (build 15.0.2+7) # Java VM: OpenJDK 64-Bit Server VM AdoptOpenJDK (15.0.2+7, mixed mode, sharing, tiered, compressed oops, g1 gc, windows-amd64) # Problematic frame: # C [awt.dll+0x8f932] # # No core dump will be written. Minidumps are not enabled by default on client versions of Windows # # An error report file with more information is saved as: # C:\Users\xxxxx\IdeaProjects\gatling-sample\hs_err_pid4532.log # # If you would like to submit a bug report, please visit: # https://github.com/AdoptOpenJDK/openjdk-support/issues # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # Process finished with exit code 1
右上の "Recorder" → "Edit Configurations..." をクリックします。
使用する Java SDK を "Bundled" に変更します。
(最初から Bundled が選択されていて欲しい…)
再び Recorder を実行すると GUI が表示されました。
まとめ
IDE の入力補完が効く状態で Gatling のコードが書けるようになりました。
実行環境の構築を楽するために今は Docker を使ってテストを実行していますが、
IDE でのコーディングから Docker での実行がよりスムーズになるように
archetype の選択などいろいろ試してみようと思います。
(「公式ドキュメントを見たら意外と IDE 無くても書ける説」あるかもですけど)