ローコードテスト自動化ツールの mabl がすごい
というのを使っていて思ったのでレポを書いていきます。
mabl とは - 基本的な機能
ざっくり言うと E2E テストをお手軽にメンテできるツールです。
こんな感じでポチポチ画面を操作していくと、それで実行したアクション(ボタンやリンクをクリックするなど)を自動で記録してくれて、E2E のテストを作成することが出来ます。
コードを書かずに E2E テストをサクッと作れちゃうのが魅力な訳ですが、それだけではありません。そんなすごいところを紹介していこうと思います。
mabl のここがすごい
Auto Healing
何やら回復魔法みたいな感じでかっこいいですが、何かというと E2E テストがコケるようになった時に自動で修復してくれる機能です。
例えばボタンの位置が変わってしまっても、同じ文脈であろうボタンを自動で探して修復したりしてくれます。
E2E での辛さといえば、やはりテストのメンテナンス。ちょっと hook としている要素が変わるだけでコケるようになるのは中々のストレスです。それが放置されて次第に使われなくなってしまう...というのは E2E あるある話でしょう。そのコストを軽くして継続しやすくしてくれるのは非常に重要な機能だと思っています。
Visual Regression を勝手にやってくれる
テストを実行した時にアクション毎にスナップショットを撮ってくれていて、前回実行したものと比較をしてくれています。こちらは何も設定しなくともデフォで入ってきます。ビックリしました。
Performance Test もできる
E2E のついでにパフォーマンステストもできちゃいます。
lighthouse を使ったスコアリングを各ページに実行して下記のような図を作って、遅すぎるものがあったら発見できるようになっています。
UI Smoke Test
全ページをクロールしながらリンク切れの検知、JSエラーのレポート、パフォーマンスのレポートなどをしてくれます。すごいですね。
CI の組み込み
もちろんですが CI との integration も充実しています。
例えば、多分皆さんがやりたいであろう PR を作ったら GitHub Actions でどこかにデプロイして、それに対して E2E テストを行うということもできます。
ブランチングもできる
まだマージされていないブランチにテストを作りたくなった時も大丈夫です。mabl でもブランチを生やすことができます。地味に便利。
API を叩いて Assert できる
API にリクエストを送って、そのレスポンスを validate できたりもします。あまり出番が多くなってほしくはないですが、E2E が難しい機能もあるので、そんな時に裏道的に API を飛ばせるようにしておく際に便利です。
Email のテストもできる
新規登録時のメール認証を突破したり、メールが届いているかを Assert したいということはあるあるだと思います。
まずテストを作成する時に mabl のメールアドレスを発行して、
後のステップでそのメールアドレスに届いたメールの中身をアサートしたり、中身の値を使うことができます。便利。
気になるお値段は?
知らない & 言っていいのか分からないのでご自分で問い合わせてみてください✨
大きく3つのプランがあるみたいです。おそらく実行回数や機能などで差分が出るものだと思います。
最初の2週間はフリートライアルで試せるみたいなので、とりあえず触ってみるのもいいと思います。
雑感
E2E をお手軽に作れること自体も魅力ですが、それ以外にも Visual Regression や パフォーマンステストが "ついでに" できてしまうのは非常に強力だなと感じています。
実際仕事をしていて「これ mabl でついでにできるんじゃね?」→ 調べたらできた、というケースがよく発生しました。
mabl がおいくらなのかは存じ上げないのですが、これらのテストのメンテにかかる人の工数を考えると多少お金を積んでもお釣りが来るのではないかなと思いました。
Discussion