スマホアプリではテストが常に大きな負荷となっています。UIはもちろん、UXも絡むので多くの人がリリース前のテストに追われます。ここを自動化できれば、コストは小さくなるでしょう。
今回はMagicPodというテスト自動化プラットフォームを紹介します。
AIを使って画面の要素検出を行っており、Monacaアプリにも対応しています。
MagicPodのテスト方式
MagicPodは、「Appium」を使ってテストを行います。
Appiumは、Seleniumのアプリ版とも言うべきソフトウェアですが、セットアップや使い慣れるまでのコストが割と大きいと感じます。
MagicPodは、そうした手間をなくし、グラフィカルにテストを作成できるのが大きな利点です。
MagicPodを使ったテスト作成にチャレンジ
まず最初にテスト対象になるアプリをアップロードします。
iOSであればIPAファイル、Androidであればapkファイルを指定します。
Monacaでビルドしたアプリをアップロードするか、URLでの指定も可能です。
クラウド上で動作する端末は、iOSシミュレーターやAndroidエミュレーターになっており、デバイスの種類やOSを幅広く選択できます。
iPadであったり、Pixel系の各種デバイスを利用可能です。
クラウド端末に接続する
アプリをアップロードしたら、クラウド端末に接続します。
専用デスクトップアプリを使ったローカル接続も利用できます。
アクションを設定する
UIが表示されたら、画面の要素を解析します。
WebViewを利用している際の解析も可能ですが、時間がかかるようです。
Framework7を使ったアプリの場合は、WebViewベースの解析を使わなくとも要素が検出されました。
要素の検出が完了したら、タップしたり入力する要素を左側にドラッグ&ドロップします。
そしてタップや入力などのイベントを設定します。
後は、実際にそのイベントを実行して、次の画面に遷移したり情報を入力します。
基本的にはこれを繰り返して、テストを作成していきます。
テストを実行する
一通りテストケースが作成できたら、後は流して実行するだけです。
結果は、MagicPodの管理画面で確認できます。
問題なければ、管理画面からヘッドレス(端末の画面を見ずに)でテストを実行できます。
端末は複数登録できるので、複数のiOS/Android端末でのテストが可能です。
端末の設定
端末は、OSや筐体の他、位置情報や環境変数などを指定できます。
端末の言語も変更できますので、英語や中国語など多言語での動作確認にも使えます。
画面キャプチャー
テスト中は画面キャプチャーを保存してくれます。
エラーがあった場合のみといった指定もできます。
まとめ
アプリのテストを作成するのは、それなりに手間がかかりますが、一度作ってしまえば何度も繰り返しテストが行えます。
アプリの品質を高めるためにも利用を検討してみてはいかがでしょうか。