Skip to main content
Skip table of contents

Testing of Mobile Devices

モバイルアプリケーションのテストにおいて、しばしば最も考慮されるのは、異なるデバイス、さらには異なる OS プラットフォームにまたがってテストできることです。

理想的なゴールは、スクリプトの手直しやテストスクリプトの複製に費やす労力を最小限に抑えながら、このようなカバレッジを達成することです。T-Plan Robotは、単一のテストスクリプトと「イメージコレクション」の使用により、シンプルかつ効率的にこの目標を達成することができます。

T-Plan Robotは画面レベルで自動化するため、表示されたコンポーネントを通してアプリケーションを駆動します。アプリケーションがナビゲーションなどの同じフロールールに従うと仮定すると、アクションリストは変更する必要はありませんが、これらのコンポーネントを見つけるために使用される画像は変更される可能性があります。では、オートメーションスクリプトの観点からはどうでしょうか?

例えば、アプリケーションのフローは以下のようになります:

アクション:

  1. アプリの起動

  2. ユーザー名フィールドをタップ

  3. ユーザー名を入力

  4. パスワードフィールドをタップ

  5. パスワードを入力

  6. ログインをタップ

  7. アプリケーションのホーム画面からPortfolioをタップ

  8. アカウントを表示」をタップ

  9. レポートの作成」をタップ

... など

アプリケーション内のフローは、ターゲット環境に関係なく同じであるべきです。その結果、テストスクリプトは、ターゲット環境に関係なく、各実行中に実行されるこれらの同じアクションを含むことができます。しかし、各アクションが実行されるべき場所の特定は、ビジュアルスクリーンの観点からは異なる可能性があります。Robotでは、このような場合、スクリプトが1つの画像ではなく、複数の画像を参照できるようにします。このスクリプトは非常に効率的で、多くのメリットをもたらします:

  • 既存の画像コレクションに追加することで、テスト環境のカバレッジを迅速かつ容易に拡大できます。

  • スクリプトを手直しすることなく、新しいデバイスをテストできます。

  • スクリプトの手直しなしに、新しいモバイル・プラットフォームをテスト

  • テスト環境間で一貫性のあるレポート

では、このようなスクリプトは T-Plan Robot 内でどのように見えるでしょうか...面白いことに、上のアクションリストとほとんど同じです。

以下のコード例では、まず「プロシージャ」を作成します。このプロシージャは再利用可能なコードとなり、後続のコードを非常にシンプルで最小限のものにすることができます。もちろん、このコードは必要に応じて変更することができる。

# まず、再利用可能な'tap'プロシージャーを作成する:

CODE
Procedure Tap {
Waitfor "match" method="search2" template="{1}"
if ({_EXIT_CODE} == 0) {
Step "Click {1}" result=fail
Exit 1
} else {
Step "Click {1}"
Mouse click to=x:{_COMPARETO_CLICK_X},y:{_COMPARETO_CLICK_Y}
}
}

// Script Body //
Tap MainApp 
Tap Username 
Type username 
Tap Password 
Type password 
Tap Login 
Tap Portfolio 
Tap ViewAccount 
Tap GenerateReport 
Tap Logout

上記のコードは'画像コレクションを利用しているため、コードに影響を与えることなく、さまざまなターゲット環境やオペレーティング・システムに対して簡単に実行することができます。

複数のGUIテスト実行を示すビデオ

基本的に、T-Plan Robotを使えば、どのプラットフォームのテストも同じように実施できます。モバイルアプリケーションのテストは、デスクトップアプリケーションやウェブアプリケーション、その他のアプリケーションとまったく同じ方法で設計、実行、デバッグされます。

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.