はじめに
REST APIをテストするため「Karate」を使ってみようと思い、VSCode拡張機能の「Karate Runner」を導入してみた記録です.
導入した環境&インストールしたもの
- Windows 11(Windows 10でも問題ないです)
- Visual Studio Code
- JDK 11以降
- Karate Runner (VSCode拡張機能)
- karate.jar
インストール
JDK
下記 karate.jar
の実行に使用します.
Java 11 以降を必要とするので、今回は Adoptium からJDK 17をダウンロードしました.
複数バージョンの入れ替えが簡単なのでZIPファイル版をダウンロードして使っています.
Visual Studio Code
karate.jar
「Karate Runner」で 「Karate Jar」の設定でシナリオを実行するときに使用します.
Karate Labsの GitHub から karate-1.4.0.jar
を任意のディレクトリにダウンロードします.
Karate Runner
「Karate Runner」は、VSCodeを起動して拡張機能ビューの検索で「karate」と入力すると出てくるので、そこからインストールできます.
(一番目に表示されている「Karate」は、Karate Labsから出ている拡張機能ですが、ここでは二番目に表示されている「Karate Runner」のほうです。なぜかこちらのほうがダウンロード数が多く評価も高いです. Karate Labsのほうはアカウント登録すると使えるようになるモードがあるようですが支払いが発生するようなので確認してませんが)
インストール後の設定など
プロジェクトの設定
Karateのfeatureファイルを置くプロジェクトのルートディレクトリに、ファイル名「karate.jar」でファイルを作成します.
初めて触ったときは、ここにはkarate.jar本体を置くものだと思っていたんですが、ファイル名が一致していれば中身がなくても大丈夫なようです(今後のアップデートで変わるかもしれないから要注意).
Karate Jarの設定
Karate Runner > Karate Jar: Command Line Args
ここでjavaコマンドのパスと、karate.jarのパスを設定します.
キーワードのハイライトと補完
「Karate Runner」をインストールしたあとで、拡張子が*.feature
のファイルを開くとエディタが次の画像のような表示になります.
エンターキーを押したり、スペースキーでインデントしようとすると、コード補完できるようです.(タブキーでキーワードが確定される模様。エンターorスペースを入力した時点で補完が始まるので任意の場所で開始できるようにしてほしいな…)
追記: 環境によっては補完効かないかもしれない
拡張機能の設定について
シナリオを実行するとテスト結果のレポート(HTML)が生成されますが、自動的には開かないので拡張機能の設定でここにチェックを入れておくと、終了時にHTMLを開いてくれます.(実行のたびに開かれるのはイヤなので、ターミナルに表示されるリンクから開けるようになるといいかもしれない🦆)
感想と今後
エディタから直接シナリオを実行できるという点が良かったです.
書いたら即実行できるので、書き方に慣れていなくても試しながら書いていくことができて便利だなと思いました. 最終的にはMavenとかでテストを回していくことになると思いますが、テストが実行されるまで待った挙句、書き方ミスってて実行できなかった、というのは嫌だなと思うので.
今回は拡張機能の導入をしたところまでまとめましたが、今後は実際に使ってみてシナリオファイルの書き方のポイントなどをまとめていきたいと思っています.