モバイル・テストの編集

このトピックでは,エディタまたはキーワード・ビューを使用して任意で実行可能なモバイル・テストの編集手順について説明します。

シミュレートされたイベントとジェスチャの追加

着信コールやスワイプジェスチャなど,実際のモバイル・デバイスで発生するイベントやジェスチャをシミュレートするステップをテストに手動で追加します。

例:

SMS の着信のシミュレーション

Device("Device").IncomingSMS "1800859645","Hello There",5,False       

電話の着信のシミュレーション

Device("Device").IncomingCall "180080808080",5,False     

GPS 位置情報の変更のシミュレーション

Device("Device").GPSRelocate 37.500000,-120.300000,5,False        

先頭に戻る

リモート・アクセス・ウィンドウを開くステップの追加

パフォーマンスを維持するために,テスト中はリモート・アクセス・ウィンドウを閉じたままにし,Device.OpenViewer および Device.CloseViewer ステップを使用して,必要な場合にのみウィンドウを開閉します。

実行中にリモート・アクセス・ウィンドウを制御するには,次の手順を実行します。

  1. UFT One の[オプション]ダイアログで,[テスト実行中にアプリケーションを表示します]オプションをオフにします。

    詳細については,Digital Lab またはローカル・モバイル・デバイスへの接続を参照してください。

  2. テストの中で,実行のために UFT One がオブジェクトを認識する必要があるステップを定義します。

    これらの各ステップの前に,リモート・アクセス・ウィンドウを開く Device.OpenViewer ステップを追加します。

    これらの各ステップの後に,実行セッションをサイレントに続行する Device.CloseViewer ステップを追加します。

  3. 次のいずれかの場所で,開くアプリが定義されていることを確認します。

    • [記録と実行環境設定]ダイアログ・ボックス

    • 先行するステップ。次に例を示します。

      Device("MyDevice").App("MyApp").Launch
      Device("MyDevice").OpenViewer

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

先頭に戻る

別のデバイスを開くステップの追加

テストの各ステップを異なるデバイスで実行するには,一意の Device テスト・オブジェクトを作成し,それに合わせてテスト・ステップを変更します。

別のデバイスでステップを実行するには

一意の Device テスト・オブジェクトを作成する

テストに含めるデバイスごとに,次の手順を繰り返します。

  1. 記録と実行環境設定を定義し,テストを記録します。

  2. [オブジェクト リポジトリ]ウィンドウ([リソース]>[オブジェクト リポジトリ])で,Device テスト・オブジェクトの名前を,Device_1Device_2 などのわかりやすい名前に変更します。

    テストは,新しい Device テスト・オブジェクト名で自動的に更新されます。

  3. オブジェクト・リポジトリで,Device テスト・オブジェクトの id 記述プロパティと値を定義します。

    テスト オブジェクトの詳細]表示枠で,Device オブジェクトを選択し, をクリックして[プロパティの追加]ダイアログ・ボックスを開きます。

    id プロパティ値を Digital Lab デバイス ID として定義します。

    ヒント: id 記述プロパティ値を環境変数またはデータ・テーブル・パラメータにリンクすると,柔軟性が向上します。

各デバイスのテスト・ステップの編集

テスト内の各ステップが正しいデバイスとアプリを使用するように設定されていることを確認します。例:

Device("Device_1").App("MyApp").Launch DefaultInstallBehavior, DefaultRestartBehavior
Device("Device_1").App("MyApp").MobileList("tableManFirst").Select 5,0
Device("Device_1").App("MyApp").MobileDropDown("RegularPicker").Select "Arman",0
...
...
Device("Device_2").App("AnotherApp").Launch DefaultInstallBehavior, DefaultRestartBehavior
...

先頭に戻る

追加のアプリを開くステップの追加

1 回の実行セッションで複数のアプリを開く必要があるテストの場合は,各アプリを個別に開いて前面に表示するステップを追加します。

複数のアプリを開くには,次のいずれかの方法を使用します。

アプリを開く Insight ステップを記録する

詳細については,モバイル・デバイス上の Web アプリの Insight ステップの記録を参照してください。

 

記録時にアプリを切り替える

詳細については,アプリの切り替えを参照してください。

uiAutomatorViewer を使用する

(Android のみ)

uiAutomatorViewer を使用して,以下を実行します。

  1. デバイスのアプリ・ランチャーを特定し,App テスト・オブジェクトをオブジェクト・リポジトリに追加します。詳細については,オブジェクト・リポジトリへの App テスト・オブジェクトの追加を参照してください。

  2. 開くアプリのアイコンの MobileView テスト・オブジェクトを作成します。詳細については,オブジェクト・リポジトリへの記録不可能なオブジェクトの追加を参照してください。

テスト内の関連する各ステップの前に,新しいアプリを開くステップを追加します。

例:

Device("Device").Home
Device("Device").App("Launcher").MobileView("App2").Tap

先頭に戻る

BPT:ブラウザを開くステップの追加

テスト・アプリケーション領域でデバイスとブラウザを指定するほか,ビジネス・プロセス・テストの関連コンポーネントでデバイスのブラウザを開くステップを追加することをお勧めします。

WebUtil.LaunchBrowser ステップを追加してブラウザを開き,必要に応じて関連する引数を指定します。

たとえば,次のステップでは,AWS Device Farm にあるモバイル・デバイスで Chrome ブラウザを開きます。

WebUtil.LaunchBrowser "MOBILE_CHROME", "lT-1", "cube", "ANDROID", "5.1", "AWS"

詳細については,『UFT One Object Model Reference for GUI Testing』の「LaunchBrowser Method」を参照してください。

先頭に戻る

Browser.Navigate ステップの連続の回避

テストの最初のステップとして Browser.Navigate を追加することは避けてください。特に,[記録と実行環境設定]でテストの開始時に特定のブラウザ・ページを開くように設定されている場合は注意してください。

たとえば,[記録と実行環境設定]の URL が www.bing.com に設定されている場合,スクリプトの最初の行に次の行を含めないでください。

Browser.navigate "www.google.com"

代わりに,URL を www.google.com に変更し,スクリプトの最初のステップを削除します。

また,次のような 2 つの連続した Browser.Navigate ステップがある場合は,

Browser.navigate "www.google.com"
Browser.navigate "www.baidu.com"

2 つのステップの間に Wait ステートメントを追加するか,最初の Navigate ステップを削除します。

先頭に戻る

ランタイム・プロパティ値とモバイル・テスト

UFT One には,モバイル・テスト・オブジェクトにバインドできる実行環境オブジェクトがありません。したがって,バインドされた実行環境オブジェクトから値を取得する UFT アクションは,値を持たないことになります。

例:

記述プロパティ

記述プロパティをオブジェクト・リポジトリに追加する場合,初期値は空白か,標準設定値(たとえば,True/False などのブール・プロパティ値)のどちらかです。

標準チェックポイント

標準チェックポイントを追加する場合,初期プロパティ値は空白です。

ランタイム・プロパティの値は,Digital Lab アプリケーションの詳細から取得されます。

先頭に戻る

認証のシミュレーション

テストに手動でステップを追加して,iOS デバイスでの指紋認証または顔認証をシミュレートします。

認証シミュレーションは,テストの再生でのみサポートされます。

テストの記録時に,次のいずれかの方法で認証を行います。

  • 物理デバイスにアクセスできる場合は,指紋認証または顔認証を手動で実行します。この認証は記録されません。
  • デバイスにアクセスできない場合は,別の認証を実行します。

次に,テストを再生する前に,テスト内で指紋認証が行われる箇所に SimulateAuthentication ステップを手動で追加します。

次の構文を使用します。

Device("<デバイス ID>").App("<アプリ名>").SimulateAuthentication ("<結果>","<理由>")

詳細については,『UFT One Object Model Reference』の 「SimulateAuthentication」 およびDigital Lab ヘルプを参照してください。

認証シミュレーションの例

次のステップは,ロックアウトが原因で認証が失敗したことを示しています。

Device("Device").App("UICatalog8INJ").MobileButton("UICatalog").Tap

Device("Device").App("UICatalog8INJ").MobileList("MobileList").Scroll 5,0

Device("Device").App("UICatalog8INJ").MobileList("MobileList").Select 21,0

Device("Device").App("UICatalog8INJ").MobileButton("Try to authenticate").Tap

Device("Device").App("UICatalog8INJ").SimulateAuthentication "Failure", "Lockout"

注: 再生でシミュレーションを実行すると,Digital Labの[認証のシミュレーション]ダイアログ・ボックスは開きません。

先頭に戻る

標準の UFT One 機能を使用したモバイル・テストの編集

条件ステートメントやループ・ステートメント,記述的プログラミング,オブジェクト・スパイなど,標準の UFT One 機能を使用してモバイル・テストを編集します。

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

記述的プログラミング

たとえば,オブジェクト名を手動で編集し,名前の代わりに記述的プログラミングを使用するようにします。

注: class プロパティを記述的プログラミング・ステートメントに追加して,Digital Lab がオブジェクトを識別できるようにすることをお勧めします。

詳細については,テストのプログラミングを参照してください。

テストの同期とアプリの応答の検証

次のいずれかのタイプのステップを手動で追加して,テストを円滑に実行し,アプリが正しく応答することを検証します。

Launch メソッド

App テスト・オブジェクトの Launch メソッドを使用して,アプリケーションに対するステップを実行することなく,アプリケーションを開きます。

たとえば,アプリケーションを開くのに時間がかかり,オブジェクトが見つからないために最初のステップが失敗してしまう場合は,Launch メソッドを使用できます。

Launch メソッドを使用するには,デバイス上の最初のステップとして Launch ステップを挿入します。

Wait ステートメント

ステップ間に VBScript の Wait ステートメントを挿入して,前のシステムが確実に完了してから,次のステップを実行するようにします。

WaitProperty ステップ

WaitProperty ステップを使用して,指定されたランタイム・プロパティが特定の値に設定されるまで(またはオプションのタイムアウトが期限切れになるまで)待機するように UFT One に指示します。

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

Exist メソッド

Exist メソッドを使用して,指定したテスト・オブジェクトが現在のビューで認識されるまで(またはオプションのタイムアウトが期限切れになるまで)待機し,予期されるコントロールがアプリに表示されることを確認します。

例:

  • Device テスト・オブジェクト:デバイスが現在の Digital Lab サーバに接続されているかどうかを確認します。

    位置のランタイム・プロパティ(左,上,右,下)の値は,対応するリモート・アクセス・ウィンドウから取得されます。他のランタイム・プロパティの値は,Digital Lab デバイスの詳細から取得されます。

  • App テスト・オブジェクト:アプリケーションが現在の Digital Lab サーバにロードされているかどうかを確認します。

    ランタイム・プロパティの値は,Digital Lab アプリケーションの詳細から取得されます。

GetROProperty

text などのプロパティの値を取得してから,このプロパティの値を確認します。

Reporter.ReportEvent

実行結果にデータを送信します。

先頭に戻る

その他の参照項目: