ローコードテスト自動化ツール T-DASH

カスタム動作を使ってモバイルアプリのテスト自動化をしよう(alpha版)

この記事はalpha版向けに作成されたものであり、現行バージョンと異なる点があります。
T-DASHでモバイルアプリ向けのテスト自動化を行う場合は、以下記事をご確認ください。

T-DASHでモバイルアプリのテストを自動化しよう(beta版)

はじめに

T-DASHではPythonやRobotFrameworkを使用した「カスタム動作」を使用して、モバイルアプリのテスト自動化も可能です。
カスタム動作を用いて、テストケースを作成・実行する流れを紹介いたします。
(カスタム動作とはT-DASHにはない動作をユーザーで独自で作成・実行できる機能です、詳しくはこちら

現在リリースしている、モバイルアプリのテスト機能はα版となっております。
今後、β版と正式版をリリース予定です。

項目α版β版正式版
モバイルアプリ用動作があるか×
(カスタム動作)

(標準動作あり)

(標準動作あり)
appiumのセットアップユーザーで行うユーザーで行う未定

このチュートリアルを通して、モバイルアプリの要素取得が可能となり、AndroidやiOS向けのモバイルアプリをT-DASHでテストを実行できるようになります。

当カスタム動作は、モバイルアプリに対する自動テストをT-DASHでお試しいただくため先行してご提供しております。これらの動作は今後のアップデートでT-DASHに組み込まれ、難しい操作なくモバイルアプリ自動テストが可能となりますので、本リリースをお待ちいただけますと幸いです。

alpha版ご利用時の免責事項

モバイルアプリに対応するカスタム動作はalpha版のため、以下内容にご了承いただいた上ご利用ください。

  • 開発中の動作を含んでいるため、想定と異なる振る舞いをする可能性があります。
  • alpha版カスタム動作利用中にお客様へ不利益が生じた場合、当社では責任を負いかねます。
  • カスタム動作の内容について、事前の予告なく変更となる可能性があります。
  • 同等機能が今後T-DASHへ正式実装された場合の互換性は保証いたしかねます。

alpha版ご利用中に気になられた点やフィードバックなどございましたら、T-DASH内のお問い合わせよりご報告いただけますと幸いです。

前提

対応モバイルOS:Android , iOS

  • Windows版T-DASHをご利用の場合は、Androidのみテスト実行可能です。
  • Mac版T-DASHではAndroid/iOS向けどちらのテストも実行可能となります。
    • Windows版で作成したsyncファイルをMac版でインポートした場合、Mac版ではAndroidに対してのみテストが実行可能となります。

アプリケーションに用いられているフレームワークによっては、正常にテスト自動化を行えない可能性があります。

詳細

モバイルアプリのテスト自動化までのフロー

  1. テストを実行可能にするための環境を構築し、端末を接続する
  2. テスト対象のアプリケーションを準備する
  3. モバイルアプリに対応したプロジェクトを作成する
  4. Appium Inspectorを用いて画面要素を取得し、T-DASHへ登録する
  5. カスタム動作を用いてテストケースを作成する
  6. 作成したテストケースを対象の端末で実行する

手順

1. テストを実行可能にするための環境を構築し、端末を接続する

モバイルアプリ向けカスタム動作を使用してテストを実行する場合は、T-DASH以外に必要なソフトウェアがあります。対象OSにより手順が異なるためそれぞれの記事をご確認ください。

モバイルアプリ(alpha版)/Windows向け環境構築手順

モバイルアプリ(alpha版)/Mac向け環境構築手順

実機でテストを実行する場合は、データ通信可能なUSBケーブルでPCとモバイル端末を接続してください。接続を行うと接続先のモバイル端末に以下のようなダイアログが表示されるため、「許可」もしくは「信頼」をタップしてください。

Androidの場合

iOSの場合

2. テスト対象のアプリケーションを準備する

Androidの場合はapkファイル、iOSの場合は実行端末向けにビルドされたappファイルを準備します。
既にインストール済みのアプリケーションをテスト対象とする場合は、下記情報が必要となります。

Androidの場合
  • ApplicationId
  • 起動対象とするActivity名

ApplicationIdとActivity名は起動対象とするアプリをモバイル端末に表示している状態で、コマンドプロンプト または ターミナルでコマンドを実行することで取得することができます。以下はGoogleマップの情報を取得している例です。

  • Windows
    adb shell dumpsys activity activities | findstr "mResumedActivity"
  • Mac
    adb shell dumpsys activity activities | grep "mResumedActivity"
iOSの場合
  • バンドルID

プリインストールアプリのバンドルIDはAppleドキュメントで確認することができます。

ここまでの手順を行うと、モバイルアプリのテスト実行に必要な環境構築が完了しています。
以降の手順は、T-DASH内部でモバイルアプリテストを行うために必要な手順となります。

3. モバイルアプリに対応したプロジェクトを作成する

  1. プロジェクト一覧を開き「プロジェクトを作成」ボタンをクリック。
  2. プロジェクト作成ダイアログで「Webアプリ」を選択してプロジェクトを作成する。
    ※T-DASH自体はモバイルアプリに正式対応していないため、Webアプリプロジェクトを活用します

カスタム動作をインポートする

  1. 上記Syncファイルをダウンロードし、任意の場所に解凍する。
  2. 前手順で作成したプロジェクトを開き、「左上プロジェクト名」→「プロジェクトファイルをインポート」をクリック
  3. 解凍したSyncフォルダをインポート元として選択し、インポートを実行する。
  4. インポート完了後に「動作定義」画面を開き、カスタム動作タブに3つのカテゴリが存在すればインポートは完了しています。

4. Appium Inspectorを用いて画面要素を取得し、T-DASHへ登録する

モバイルアプリ内の要素取得は「Appium Inspector」を用いて行います。詳しい手順については次の記事をご確認ください。

Appium Inspectorを使って画面要素を取得しよう(alpha版)

5. カスタム動作を用いてテストケースを作成する

前までの手順で、テストケースに使用するカスタム動作と画面要素の準備が完了したため、テストケースを作成します。ケースの作成はWebアプリやWindowsアプリと同じように行うことができます。

テストスイート、テストケース名を作成しよう

画面定義作成後、テストケースを完成させよう

テストケースのデバッグをしよう

以下はAndroid端末でGoogleマップに対しテストを実行したサンプルとなります。

モバイルアプリ向けに使用可能な動作は、インポートした「Android限定」「iOS限定」「モバイルアプリ共通」の3カテゴリのみです。詳細は以下の記事をご確認ください。
(他の標準動作については、テストを実行する仕組みが異なるため正常に動作しません。)

モバイルアプリ(alpha版)/カスタム動作一覧

テストケースの手順1つ目は、上記カスタム動作一覧内「説明」カラム先頭に
★が付いている動作を指定してください。端末やアプリ接続に関わる情報を含むため必ず必要となります。

6. 作成したテストケースを対象の端末で実行する

作成したテストケースを実行します。実行前にあらかじめappiumを起動されており、端末が接続されていることを確認してください。

appiumの起動方法
  1. コマンドプロンプトまたはターミナルを表示する。
  2. 下記コマンドを実行し、appiumを起動する。
    appium

端末の接続確認

PCに端末が認識されているかは、コマンドプロンプトまたはターミナルでモバイルOSごとに以下コマンドを実行することで確認することができます。

  • Androidの場合
    adb devices

  • iOSの場合
    ios-deploy --detect
テストの実行

上記2点の確認完了後、実行したいテストを選択して「選択したテストを実行する」ボタンをクリックします。端末のロックが解除されていない場合、テスト実行に失敗するため実行前にロックを解除してください。

※Webアプリプロジェクトとして作成しているため画面内にブラウザのプルダウンなど表示されていますが、テスト実行時には利用されない値となります。

実行結果の確認

テスト実行結果はダッシュボードから確認することができます。

ダッシュボードの使い方

T-DASH自体はモバイルアプリに正式対応していないため、スクリーンショットや動画を記録する動作を組み込んでいてもレポート側には出力されません。

レポート右上「Log」をクリックすることで実行ログを開くことができ、実行ログには各コンテンツが埋め込まれているため内容を確認することができます。

コメントする

CAPTCHA