モバイル・テストの実行

このトピックでは,OpenText Functional Testing でモバイル・テストを実行する方法の詳細について説明します。

概要

モバイル・テストを実行する前に,いくつかのタスクを実行する必要があります。

タスク 詳細
モバイル・テストのためのセットアップ

"モバイル・テストの実行" を参照または"高度なモバイル・テストのセットアップ" を参照

モバイル・テストの記録 "モバイル・テストの記録" を参照
モバイル・テストの編集 "モバイル・テストの編集" を参照

モバイル・テスト実行フロー

OpenText Functional Testing で,OpenText Functional Testing Lab またはローカル・デバイスに接続されていることを確認し,[実行]をクリックします。

OpenText Functional Testing がデバイスに接続し,リモート・アクセス・ウィンドウが開きます。これにより,テスト・ステップの実行中にアプリケーションの動作を確認できます。

OpenText Functional Testing のオプションを設定してリモート・アクセス・ウィンドウを非表示にすると,テストのパフォーマンスと速度が向上します。

詳細については,"テスト実行中にアプリケーションを表示します" を参照を参照してください。

モバイル実行セッション中

実行がモバイル・テスト・オブジェクトのステップに達すると,デバイスとアプリケーションが次のように決定されます。

デバイス・テスト・オブジェクトに ID 記述プロパティが含まれているか?

オプション 説明
はい

識別されたデバイスが使用されます。

デバイス・テスト・オブジェクトでプログラム的記述を使用するには,"micclass:=Device" をステップに手動で追加します。

例:

Device("micclass:=Device").App(...
いいえ OpenText Functional Testing の[記録と実行環境設定]で定義されたデバイスが使用されます。

ステップにアプリ・テスト・オブジェクトが含まれているか?

オプション 説明
はい identifierversion のプロパティを使用してアプリケーションを検索します。
いいえ

OpenText Functional Testing の[記録と実行環境設定]で定義されたアプリケーションが使用されます。

デバイスとアプリケーションが決定されると,デバイスがロックされ,OpenText Functional Testing だけがそのデバイスに対してアクションを実行できるようになります。ステップは設定どおりに実行されます。

実行セッション中にデータを表示するには,リモート・アクセス・ウィンドウの右側にある[メトリクス]表示枠を展開します。

モバイル実行セッションの終了

[記録と実行環境設定]で[アンインストール]が選択されている場合,実行セッションが終了すると,デバイスからアプリケーションがアンインストールされます。

デバイスがリリースされ,他のラボ・ユーザが使用できるようになります。

その後,全般的な実行の概要,各ステップの詳細とステータス,および以下を含む実行結果が表示されます。

詳細 説明
アプリケーションの画像

さまざまなステップにおけるデバイスのスクリーンショット(設定されている場合)。

このオプションは,[画面キャプチャ]表示枠で設定します([ツール]>[オプション]>[GUI テスト]>[画面キャプチャ]>[静止画像キャプチャをテスト結果へ保存])。

詳細については,"実行結果の使用" を参照を参照してください。Run Results Viewer を使用する場合は,"Run Results Viewer の使用" を参照を参照してください。

[ローカル システム モニタ]表示枠

[記録と実行環境設定]ダイアログ・ボックスの[デバイス メトリクス]フィールドで設定したデバイス・メトリクスを表示します。

:デバイス・メトリクスとローカル・システム・モニタの両方を有効にしている場合,実行結果には,デバイス・メトリクスの設定によってキャプチャされたデータが表示されます。

詳細については,"実行結果の使用" を参照を参照してください。Run Results Viewer を使用する場合は,"Run Results Viewer の使用" を参照を参照してください。

デバイス・ログ・ノード

3 秒ごとに収集されるデバイス・ログのリスト([記録と実行環境設定]ダイアログで[デバイス メトリクス]オプションが選択されている場合)。

各デバイスについて,ログ・ファイルが OpenText Functional Testing コンピュータのローカルの実行結果フォルダに保存されます。

  • Android:Logcat ログ・ファイル。テスト対象のアプリケーションによってフィルタリングされています。
  • iOS:idevicesyslog ファイル。フィルタリングされていません。
StopNV ステップ
(このステップ・タイプが実行に含まれている場合)

Network Virtualization サーバに保存されているネットワーク仮想化結果ファイルのパス。このファイルには,トラフィックとパフォーマンスの情報と分析が含まれています。

Insight を使用したテストの実行

Insight テスト・オブジェクトを含むテストは,他のテストと同じように実行されます。

ただし,リモート・アクセス・ウィンドウでユーザ・インタフェースが完全にロードされない場合,Insight テスト・オブジェクトが表示されていれば,Insight ステップがスキップされることがあります。

このような場合は,オブジェクト・リポジトリ内の画像を編集して,画像の境界またはクリックする場所を調整します。

詳細については,次を参照してください。

複数のアプリでのテストの実行

1 回の実行セッション中に複数のアプリでテストを実行するように設計されている場合は,テストを実行する前に,各アプリケーションを個別に開くようにテストを設定します。

そのために,テスト実行で,各アプリケーションで実行されるステップの前に App.Launch メソッドを追加します。これにより,テストは必要なステップを実行する前に,アプリケーションを確実に開くことができます。

詳細については,次を参照してください。

複数のデバイスでのテストの実行

複数のデバイスにわたるステップを含むテストを実行すると,すべてのリモート・アクセス・ウィンドウが同じ場所に重なって表示されます。

実行セッションの間,ウィンドウの位置は固定されます。背後に隠れているリモート・アクセス・ウィンドウは,ステップが実行されても,画面の前面に移動しません。これにより,Insight ステップを含め,ステップが正しく実行されなくなる可能性があります。

この問題を解決するには,次のコードをテスト(または関数ライブラリ)に追加します。

'@Description Activate the remote access window for the device
Public Function Device_ActivateRemoteWindow(ByRef device)

       raWindowHwnd = device.GetROProperty("hwnd")
       Window("is child window:=False", "hwnd:=" & raWindowHwnd).Activate       

End Function
RegisterUserFunc "Device", "ActivateRemoteWindow", "Device_ActivateRemoteWindow"

詳細については,"異なるプラットフォームでのテスト" を参照を参照してください。

複数のオペレーティング・システムにわたる 1 つのテストの実行

1 つのモバイル・オペレーティング・システム(たとえば,Android)で Web サイトまたは Web アプリのテストを作成してから,同じテストを別のモバイル・オペレーティング・システム(たとえば,iOS)で実行します。

  1. サポートされているネイティブ・ブラウザまたは Functional Testing Lab for Mobile and Web Browser アプリを使用してテストを記録します。

    Functional Testing Lab for Mobile and Web Browser アプリは,パッケージ化された,すぐに使用できる組み込みの OpenText Functional Testing Lab アプリです。詳細については,OpenText Functional Testing Lab ヘルプを参照してください。

  2. テストで,次の入力アクション・パラメータを作成します。

    入力アクション・パラメータ 説明
    device_id

    デバイスの UUID。

    デバイス・イメージの下の[モバイル デバイスの選択]ダイアログ・ボックスにデバイス ID として表示されます。

    identifier

    アプリの一意の識別子(バンドル識別子/アプリ ID)。

    たとえば,Functional Testing Lab for Mobile and Web Browser アプリケーションを使用する場合は,次のような値になります。

    iOS:com.hp.HPMobileWebBrowserINJ

    Android:com.hp.mobileweb

    詳細については,OpenText Functional Testing Lab ヘルプを参照してください。

    詳細については,"アクション・パラメータとテスト・パラメータの使用" を参照を参照してください。

  3. テストの最初にデバイスとアプリの ID を定義するステップを追加します。

    例:

    Device("Device").SetTOProperty "id", Parameter("deviceId")
    Device("Device").App("Mobile Browser").SetTOProperty "identifier", Parameter("identifier")
    
  4. オブジェクト・リポジトリで,Device テスト・オブジェクトを編集して記述プロパティ id を追加します。

    次に,下記のいずれかの方法でデバイス ID とアプリ ID を変更し,プロパティを設定します。

    • デバイスまたはアプリの SetTOProperty メソッドを使用します。

    • SetTOProperty メソッドは,テスト実行中にオブジェクトの認識に使用されるプロパティ値を変更します。

      詳細については,『OpenText Functional Testing Object Model Reference』の「Mobile」セクションを参照してください。

    • ハードコードされた記述プロパティを追加します。

    • 次の例は,オブジェクト・リポジトリ内の Device テスト・オブジェクトに id 記述プロパティを追加する方法を示しています。このプロセスは,記述プロパティを追加する場合と同様です。

      1. テストのオブジェクト・リポジトリの[テスト オブジェクト]ツリーで,Device を選択します。

      2. 右側の[記述プロパティを追加ボタンをクリックします。

      3. [プロパティの追加]ダイアログ・ボックスで,idを選択します。id プロパティが記述プロパティのリストに追加されます。

    • id プロパティの値をデータ・テーブル・パラメータに変換します。

      1. テスト オブジェクトの詳細]領域で,id プロパティのセルをクリックします。
      2. 値の右側にあるパラメータ化アイコンをクリックします。
      3. [値設定オプション]ダイアログ・ボックスで,[パラメータ]を選択し,リストから[DataTable]を選択します。
      4. データ・テーブルのコンテンツの保存先として,グローバル・シートまたは現在のアクション・シートを選択します。

      [データ]表示枠に id パラメータが追加されます。

詳細については,"異なるプラットフォームでのテスト" を参照を参照してください。

複数のテストの並列実行

パラレル・ランナー CLI ツールを使用して,モバイル・デバイスで複数のテストを並列に実行します。

詳細については,"コマンド・ラインを使用したテストの並列実行" を参照を参照してください。

モバイル・テストでの仮想化ネットワークの使用

テストの実行中に,モバイル・デバイスの仮想化ネットワークを使用して,ネットワーク・パフォーマンスを変更しながら,さまざまなシナリオでモバイル・デバイスのパフォーマンスをテストします。

  1. Network Virtualization で,複数の異なるプロファイルを作成して,さまざまなネットワーク条件をシミュレートします。詳細については,Network Virtualization ヘルプセンターを参照してください。

  2. Network Virtualization と OpenText Functional Testing Lab の統合を設定します。詳細については,Network Virtualization ヘルプセンターを参照してください。

  3. テストまたはコンポーネントで,Device.StartNV <プロファイル名> ステートメントを挿入して,ネットワーク仮想化プロファイルで定義されたネットワーク条件を適用します。

  4. テストの最後に,または必要な場合は,もっと前の箇所に Device.StopNV ステートメントを挿入して,仮想化ネットワークの実行を停止します。

OpenText Functional Testing でサポートされているデバイスとメソッドの詳細については,『OpenText Functional Testing Object Model Reference』の「Mobile」セクションを参照してください。

その他の参照項目: