テスト自動化の成功のためには開発者の協力が不可欠です。開発者が行うことを本ページにまとめます。QA担当者はこのページを開発者に共有し、対応を依頼してください。
ブラウザ・モバイルアプリ共通
CIサービスに連携する
本番環境にデプロイする前にMagicPodのテストを実行できるようCIサービスに連携しましょう。変更をマージする度に基本的なテストのみ実行する、など1日に複数回実行することもお勧めです。
ユニークIDを付与する
テスト内で操作する要素(ボタン要素、テキストボックス要素など)にはソースコード内にテスト用のユニークなIDを付与しましょう。特にReact、Vue.js等のフロントエンドフレームワークを使用している場合、各UI要素にビルド毎に変わるランダムなIDが含まれることがあるためユニークID付与が安定したテストのために重要となります。ユニークIDの付与については社内の開発ルールに組み込むこともお勧めします。
参考:自動テストを簡単にするためのアプリ実装の工夫を知りたい
プライベート環境に対してテストするために特定のIPアドレス範囲を許可する
プライベートな開発環境でテストを実行する場合、MagicPodのクラウド端末・ブラウザがアクセスできるよう以下のヘルプページに記載のIPアドレス範囲を許可してください。
MagicPodの利用に必要となるプロトコル・ドメインのアクセスを許可する
ネットワークアクセスを制限している場合はMagicPodが正常に動作しない可能性があります。以下のヘルプページに記載のプロトコル・ドメインのアクセスを許可してください。
テストデータ操作用のWeb APIを用意する
MagicPodでは「Web APIコール」コマンドがあり、テスト内で簡単にWeb APIを呼び出せます。テスト用の初期データのセットアップ、テスト終了時のデータクリアにWeb APIを用いることで安定したテストが可能となります。
また、実行ごとにクリック対象要素や入力内容を変えるためのデータ取得用Web APIが必要な場合もあります。仕様に関してQA担当者とご相談ください。
開発サーバー停止日時をQA担当者に共有する
テスト実行タイミングにサーバーメンテナンスを行っていることが原因でテストが失敗することがあります。「土日祝日は動かしていない」「深夜はサーバーを止めている」等決まった停止日時があれば事前にQA担当者に連携してください。
モバイルアプリ
(iOS) .appファイルを作成する
iOSシミュレータでテストを行うために必要となる「.appファイル」を生成してください。生成方法については以下のヘルプページをご確認ください。
WebViewを用いたテストを出来るようにする
MagicPodには「WebViewをスキャン」というオプションがあり、この機能を使うとWebView内の要素をHTMLとして扱うことができ、メンテナンス性の高いテストが作成できるようになります。この機能を使用するために満たすべき条件があります。以下ヘルプページに記載されている条件を確認してください。
(Flutter) ガイドラインに沿った対応をする
Flutterで構築されたモバイルアプリについてはUI要素を正しく認識できない問題が起こることがあります。以下のガイドラインに沿った対応をお願いします。
参考:E2EテストのためのFlutterアプリ実装ガイドライン
(React Native) 深いツリーが生成されないように実装する
React NativeではUIツリーが深くなってしまう現象が確認されており、その現象が生じている一部アプリについてはテストを作成することが出来ません。以下のヘルプページを参考に深いツリーが生成されないよう実装してください。