AKIBA.SaaS ONLINE #1でE2Eテスト自動化ツール「Testim」を紹介しました #AKIBASaaS
こんにちは、アライアンス統括部でインターン中の齋藤です。
2022年3月9日に行われたAKIBA.SaaS ONLINE #1で、TestimというSaaSについて話しました。
発表資料
発表では、Testimの概要やE2Eテストの概念について説明した後、実際にTestimを用いてE2Eテストを作成するデモを行いました。デモを含めた発表の様子は後ほどyoutubeに公開される予定です。 以下では、改めて簡単にTestimの紹介をしつつ、デモのおさらいを行います。
目次
Testimとは
2014年に設立された、ローコードのテスト自動化プラットフォームです。マルチブラウザ・モバイル対応で、AIをベースにしたE2Eテスト自動化を強みとしており、2022年2月にテスト自動化大手のTricentis社に買収されました。今のところ日本支社や国内代理店はないので、カスタマー対応は基本的に英語となります。
類似サービスにAutifyやMagicPod、mablなどがあります。
Testimの製品は2つあり、Testim AutomateとTestim for Salesforceです。前者はWEB・モバイルアプリケーション用、後者はSalesforceアプリケーション用となっています。 今回の発表では、前者のTestim Automateを例としてデモを行いました。
デモ:テストを作って実行してみる。
テスト作成まで
今回は無料トライアルのFreeプランを利用するため、扱えるブラウザはGoogle Chromeのみとなります。
まずはchrome拡張を導入します。
その後Testimのサイトから登録とログインを行ってください。ログインすると、以下のようなテスト作成画面に行けます。
右上にある赤い「Toggle recording」ボタンを押すと、テスト対象とするサイトおよびアプリケーションのURLの入力を求められます。
URLを入力して「CREATE TEST」を押すと、Testimのアプリケーションが別ブラウザとして起動します。
テスト対象とシナリオ
今回のテスト対象はHOTEL PLANISPHEREとしました。こちらはオープンソースのテスト自動化学習用サイトで、ホテルの予約サイトを模した作りになっています。
このサイトで、「とある宿泊プランを予約する」というシナリオでE2Eテストを作成しました。
テストの作成
Testimはキャプチャ・リプレイ方式なので、ユーザーのブラウザ操作をキャプチャ(録画)する必要があります。テスト用に起動したブラウザの右下には、赤い録画ボタンがついています。
後はテストシナリオに沿ってボタン操作等を行っていきます。一連の操作が終了したら、右下の赤いボタンを押すと操作のキャプチャも終了します。
作成したテストの実行や設定変更
作成したテストの編集画面は下図のようになります。左上にテストをRun(実行)した結果と実行時間が表示されます。
左上にある最初のテストステップをクリックすると、テスト全体の設定ができるPROPERTIESが現れます。
バリデーションやランダム値の設定
テストステップの間にある三角にカーソルを合わせると、いくつかのオプションが表示されます。その中のTestim predefined stepsをクリックすると、バリデーションや要素の表示待ち、ランダム値の設定が可能です。
テストステップのスクリーンショットを自動で取得
テストの各ステップのスクリーンショットを、テスト作成時とテスト実行時で並べてみることができます。
該当部分(今回だとボタン)のデザインを変更してテストを行った際、ちゃんとTestimが対象を特定したかどうかを手軽に確認できますね。
Testim独自の特徴
※発表ではTestimのAIを利用した特徴(AI-based Smart Locators)に触れましたが、類似SaaS(Autify, mabl)にも同様の機能があるので割愛します。
作成したE2Eテストをコード化してエクスポート可能
Tesitmのパッケージ(Testim Dev Kit)をインストールしてTestimを接続することで、CLIから操作可能になります。
私は既にインストールを行っていたので、testim connectのみ実行しています。
作成したテストのコードは、Seleniumと互換性のあるJavaScriptとTypeScriptの2形式でダウンロードできるので、Testimの利用を辞めたいor他サービスに移行したい場合等にも役立ちます。
さいごに
E2Eテストはメンテナンスコストがかかると言われています(デザイン変更等によって一度作ったテストが壊れやすいため)。 記事では紹介しませんでしたが、Testimや競合のAutify,mablは、AIを用いることでE2Eテストを壊れにくくしてメンテナンスコストを下げることができます。 E2Eテストの作成やメンテナンスに苦労した方は、是非一度これらのサービスを触ってみてください!