🧑‍🎓

JetBrains Aqua (プレビュー版) を使ってみた

2022/12/20に公開

概要

JetBrains Aqua (プレビュー版) を 調べたり 試したり した際の所感についてまとめていきます。

この記事で書くこと

  • IDE版 Aqua を自分なりに調べたまとめ
  • 使ってみた感想

この記事で書かないこと

  • テストの実装方法
    • 具体的な実装方法については、この記事では書きません
  • Aqua の利用方法の Tips
    • 個人的に使いこなせておらず、情報がまだ少ないので、この記事では書きません

前提

まとめる際に参考した内容は JetBrains のサイト で確認できる部分からになります。

https://www.jetbrains.com/aqua/

また、使用したバージョンは、2022.3 Public Previewになります。

自分なりのまとめ

自分なりに Aqua をまとめると、以下になります。

テスト自動化用のツールであること

こちらは言わずもがなですが、テストコードを書くことに特化したツールです。

IDE 版 と Plugin 版 が存在すること

恥ずかしながら、Plugin 版 のことは知らず、
冒頭にも書いたとおり、IntelliJ IDEA にも導入できそうで、こちらもいずれは試したいと思いました。

Plugin 版 は、Web API テスト と 単体テストについてはサポートしていないようです。


IDE 版 の機能一覧 (Plugin 版だと、 "UI tests" のみをサポート)

現在( 2022/12/20 時点 )は プレビュー版 であること

こちらもサイトの記載のままですが、IDE版については、現在 プレビュー版となっています。

プレビュー版ですので、費用等はかかりませんが、
正式な製品として リリースされると、IntelliJ IDEA Ultimate と同じように課金制になるかもしれないですね。

サポート言語は、Java, Kotlin, Python, JavaScript, TypeScript

言語の候補は JetBrains の毎年の利用調査アンケート結果を反映していると推測できます。

https://www.jetbrains.com/lp/devecosystem-2021/#Main_programming-languages

上記の結果で上位の言語がサポート対象になっているようです。(Kotlin は JetBrains だから必然的に入る?)

UI テスト

Selenium と Selenide をサポートし、テンプレートの提供もある

ブラウザ操作処理に関しては、Selenium とその拡張にあたる Selenide をサポートしています。
こちらも 前述の 調査結果 に基づいて、採用・拡張がされそうです。

https://www.jetbrains.com/lp/devecosystem-2021/testing/#Testing_which-test-frameworks-tools-technologies-do-you-use-if-any

また、他のテストフレームワークの追加も予定がありそうで、Cypress と Playwright については、Coming Soon の記載があります。

Web Inspector 機能でターゲットのサイトの各コンポーネントの CSS セレクター や XPath を取得しやすい

こちらは、使った際の感想ですが、
イメージとしては ブラウザの開発者ツールをテスト用に使いやすくした感じでした。

対象となるサイトの ロケーターを一覧化したり、
そのコンポーネントのセレクター(CSS, XPath)をコード上にコピーしたり、
普段は 別のツールで確認しないといけないことが 1つのツールでできることのメリットは感じました。

単体テスト

サポート言語に応じた様々なテスティングフレームワークをサポート

先述のとおり、
JetBrains の調査結果に応じて、利用が多いフレームワークがサポートされています。

このあたりは、今後の拡張に期待したいです。

コードのカバレッジ取得もサポート

テスト実行時に 同時にカバレッジ取得も可能です。
そして、その結果をHTML形式にすることも可能です。

ただ、細かいですが、出力される HTML が少しイケていない気がしていて、
結果一覧の HTML がソートのパターン分出力されてしまうのは、いかがなものか。。。
(もしかすると、設定で変えられるかもですが。。。)


メインの index.html と それ以外のファイル の違いはソート順だけ

おわりに

プレビュー版ですので、まだ機能的に不足している部分 や かゆいところに手が届かない感はありました。
(個人的には、API に関するテストは Postman でやっているのですが、そこまでの柔軟性はまだ無いように感じました。)

ただ、Web Inspector 機能は少しでもラクしたいときには便利な機能ではあるので、さらなる機能拡張を期待します!

BABYJOB テックブログ

Discussion