activities
latest
false
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。
UiPath logo, featuring letters U and I in white

UI Automation のアクティビティ

最終更新日時 2024年12月20日

モバイル バンキング アプリケーションでのモバイル オートメーションの使用

このチュートリアルでは、モバイル オートメーション パッケージを使用して、モバイル バンキング アプリケーションのタスクを自動化する方法について説明します。このチュートリアルでは、Bank of America が提供するモバイル バンキング シミュレーターと、Sauce Labs の Google Pixel Emulator を使用します。ここでは、特に以下のアクションの自動化とテストに重点を置いています。

  1. アプリへのログイン。
  2. デビット カード ロックの実装。
  3. 請求の表示とスクリーンショットのキャプチャ。

このチュートリアルでは、アクティビティと API の両方を使用してこれらのシナリオを自動化する方法について説明します。

前提条件

目的のモバイル デバイスとアプリケーションを使用するには、まずモバイル デバイス マネージャー (MDM) を使用して次の手順でそれらを作成しておく必要があります。
  1. Sauce Labs から MDM にデバイスを追加します。

    デバイスの追加の詳細については「Adding Sauce Labs device」をご覧ください。

  2. Bank of America のモバイル バンキング シミュレーターを MDM に追加します。

    アプリケーションの追加の詳細については「Adding applications」を参照してください。

サンプル プロジェクト

この手順に従ってチュートリアルを自身で試すには、サンプル プロジェクト「Mobile Banking Simulator」をご覧ください。

アクティビティの使用

この例では、オブジェクト リポジトリの要素をアクティビティの入力 UI 要素として使用します。モバイル用の UI 要素を作成するには、モバイル デバイス マネージャー (MDM) でターゲット デバイスとアプリケーションとの接続を確立します。次に、[オブジェクト リポジトリ] パネルで直接各要素を作成し、[要素を指定] を使用して MDM デバイス上の特定の UI 要素を指定します。

チュートリアルを容易に実行できるように、オブジェクト リポジトリの構造に関する次のリストを確認します。

  • BankOfAmerica アプリケーション、MobileScreen メニュー
    • backFromClaimDetails
    • backFromClaimStatus
    • BackToMenu
    • firstClaimSeeDetails
    • Lock
    • LockCard
    • ログイン
    • ManageDebitCredit
    • メニュー
    • パスワード
    • swipeMenu
    • UserId
    • viewmyclaims
ヒント: 記録済みのアクションを使用して同様のワークフローを作成することもできます。このプロセスでは、MDM を介してデバイスとアプリケーションの間にコネクションを作成し、このコネクション上で一連のアクションを実行してから、これらの手順をシーケンスにインポートします。詳細については「Create workflow using recorder actions」をご覧ください。

手順

  1. 次の手順で、デバイスとアプリケーション間の接続を確立します。
    1. [モバイル デバイス接続] アクティビティを追加します。
    2. [接続の詳細を選択] を使用して、作成済みモバイル デバイスとアプリケーションを接続します。
  2. モバイル アプリケーションにログインします。
    1. [ユーザー ID] フィールドを選択する [タップ] アクティビティを追加して、ユーザー名を入力できるようにします。
    2. [ユーザー ID] フィールドにユーザー名を入力する [テキストを設定] アクティビティを追加します。
    3. [パスワード] フィールドを選択する [タップ] アクティビティを追加して、パスワードを入力できるようにします。
    4. 対応するパスワードを入力する [テキストを設定] アクティビティを追加します。
    5. [タップ] アクティビティを使用して [ログイン] ボタンを選択します。
    図 1. アプリケーションへのログイン過程になる 1 番目のアクティビティ

  3. デビット カードまたはクレジット カードをロックします。
    1. モバイル バンキング アプリのメニューへ移動する [タップ] アクティビティを追加します。
    2. メニューを下にスワイプする [スワイプ] アクティビティを追加します。

      目標は、[Manage Debit/Credit] セクションが見つかるまでスワイプすることです。

    3. [Manage Debit/Credit] セクションを選択する [タップ] アクティビティを追加します。
    4. 1 番目に表示されるカード ロック アイコンを選択する [タップ] アクティビティを追加します。
    5. ロック カードの通知を下方へスワイプする [スワイプ] アクティビティを追加します。

      この操作では、[Lock Card] を選択して操作を確定できます。

    6. [Lock Card] を選択する [タップ] アクティビティを追加します。
    図 2. デビット カードをロックするアクティビティ

  4. 請求のスクリーンショットを撮影します。
    1. [戻る] ボタンを選択する [タップ] アクティビティを追加し、メイン メニューに戻ります。
    2. [View My Claims] セクションが表示されるまでメイン メニューを下方にスワイプする [スワイプ] アクティビティを追加します。
    3. [タップ] アクティビティを使用して [View My Claims] セクションを選択します。
    4. 最初の要求の [See details] を選択する [タップ] アクティビティを追加します。
    5. TakeScreenshot API を使用して、最初の要求でその詳細のスクリーンショットを撮影します。
    図 3. 請求のスクリーンショットの作成に使用するアクティビティ

  5. このスクリーンショットを撮った後、アプリのメイン メニューに戻り、[タップ] アクティビティを使用して [戻る] UI 要素を 2 回選択します。

コード化されたオートメーションを使用する

前提条件

API を使用してモバイル アプリケーションを自動化するには、そのアプリケーションのモバイル要素をプロジェクトのオブジェクト リポジトリに記録します。この例では、自動化に使用する UI 要素をすべて収めた一般的な MobileScreen を持つ BankOfAmerica アプリケーションを作成しています。モバイル用の UI 要素を作成するには、モバイル デバイス マネージャー (MDM) でターゲット デバイスとアプリケーションとの接続を確立します。次に、[オブジェクト リポジトリ] パネルで直接各要素を作成し、[要素を指定] を使用して MDM デバイス上の特定の UI 要素を指定します。

オブジェクト リポジトリの構造については、次の一覧をご覧ください。

  • BankOfAmerica アプリケーション、MobileScreen メニュー
    • backFromClaimDetails
    • backFromClaimStatus
    • BackToMenu
    • firstClaimSeeDetails
    • Lock
    • LockCard
    • ログイン
    • ManageDebitCredit
    • メニュー
    • パスワード
    • swipeMenu
    • UserId
    • viewmyclaims

手順

  1. 次の手順で、デバイスとアプリケーション間の接続を確立します。
    1. Connect API を使用して、2 つ目のオーバーロード バージョンで Connection 型の変数を作成します。

      このオーバーロードの場合は、デバイス名とアプリケーション名を文字列として入力して、コネクションを確立します。

      [TestCase]
              public void Execute()
              {
                  Connection connection = mobile.Connect(
                  "Android mobile device", 
                  "BankOfAmericaSimulator");
      
                  Log("Connection established");[TestCase]
              public void Execute()
              {
                  Connection connection = mobile.Connect(
                  "Android mobile device", 
                  "BankOfAmericaSimulator");
      
                  Log("Connection established");
  2. 必要に応じて、デバッグの目的で、接続後に Log メッセージを追加できます。
  3. モバイル アプリケーションにログインします。
    1. Tap API を呼び出して、[ユーザー ID] フィールドをクリックします。

      このアクションではユーザー名を入力できます。

      connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.UserId);connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.UserId);
    2. SetText API を使用して、[ユーザー ID] フィールドにユーザー名を入力します。
      connection.SetText(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.UserId, 
          "john.doe@uipath.com", 
          MobileOptions.SetText().WithSendNewline(false));connection.SetText(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.UserId, 
          "john.doe@uipath.com", 
          MobileOptions.SetText().WithSendNewline(false));
    3. Tap API を呼び出して [Password] フィールドを選択し、パスワードを入力できるようにします。
      connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.Password);connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.Password);
    4. Set Text API を使用して、[パスワード] フィールドにパスワードを入力します。
      WithSendNewLine(false) メソッドは、テキストの送信後にモバイル デバイス上で OK キーボード要素が押されないようにしています。Set Text API で使用できるオプションについて詳しくは、「MobileOptions.SetTextOptions クラス」をご覧ください。
      connection.SetText(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.Password, "abcde", MobileOptions.SetText().WithSendNewline(false));connection.SetText(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.Password, "abcde", MobileOptions.SetText().WithSendNewline(false));
    5. Tap API を使用して [ログイン] を選択します。
      connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.Login);connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.Login);
  4. デビット カードまたはクレジット カードをロックします。
    1. Tap API を使用してモバイル バンキング アプリのメニューへ移動します。
      connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.Menu);connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.Menu);
    2. Swipe API を使用してメニューを下方へスワイプします。

      目標は、[Manage Debit/Credit] セクションが見つかるまでスワイプすることです。

      connection.Swipe(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.swipeMenu, 
          ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.ManageDebitCredit, 
          SwipeDirection.Down,     
          4);connection.Swipe(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.swipeMenu, 
          ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.ManageDebitCredit, 
          SwipeDirection.Down,     
          4);
    3. Tap API を使用して [Manage Debit/Credit] セクションを選択します。
      WithTimeout() メソッドを使用すると、あらかじめ定義した秒数だけ、この API を一時停止できます。この一時停止は、ターゲット UI 要素が表示されるか、エラーがスローされるまで継続します。
      connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.ManageDebitCredit, TapTypeEnum.Single, MobileOptions.Tap().WithTimeout(120));connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.ManageDebitCredit, TapTypeEnum.Single, MobileOptions.Tap().WithTimeout(120));
    4. 表示された最初のカードについて、Tap API を使用してロック アイコンを選択します。
      connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.Lock); connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.Lock);
    5. Directional Swipe API を使用してカード ロック通知を下方にスワイプし、[Lock Card] を選択することでアクションを確認できるようにします。
      connection.DirectionalSwipe(SwipeDirection.Down);connection.DirectionalSwipe(SwipeDirection.Down);
    6. Tap API を使用して [Lock Card]を選択します。
      connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.LockCard);connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.LockCard);
  5. 申し立てのスクリーンショットを撮ります。
    1. Tap API と [戻る] アイコンを使用してメイン メニューに戻ります。
      connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.BackToMenu);connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.BackToMenu);
    2. [View My Claims] セクションが表示されるまで、メイン メニューを下方にスワイプします。
      この手順では、Swipe API を使用します。今回は 6 番目のオーバーロードを使用します。このオーバーロードでは、スワイプ コンテナーに IElementDescriptor と、ターゲット UI 要素に SelectorTarget が必要です。
      最初に [View My Claims] セクションに SelectorTargetを作成したうえで、Swipe API を使用します。
      1. MDM を開き、モバイル デバイスとアプリケーションとの接続を作成します。
      2. オブジェクト リポジトリに移動し、モバイル画面の新しい要素を作成します。
      3. [要素を指定] を選択します。
      4. [選択オプション] メニューから、セレクターで特定した Web コントロールをコピーします。

        このモバイル バンキング アプリでは、ネイティブ セレクターである WebView セレクターが選択オプションとして選択されるようにする必要があります。

      5. コード エディターに戻り、SelectorTarget 型の変数を作成します。MobileTarget.FromSelector メソッドを使用します。このメソッドは、コピー済みの Web コントロールを引数として必要とします。
        SelectorTarget viewMyClaimsTarget = MobileTarget.FromSelector("<mbl android:className='android.widget.TextView' text='View My Claims' />");SelectorTarget viewMyClaimsTarget = MobileTarget.FromSelector("<mbl android:className='android.widget.TextView' text='View My Claims' />");
      6. SelectorTarget 変数を指定した Swipe API を使用して、下方へのスワイプ アクションを完了します。
        connection.Swipe(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.swipeMenu, viewMyClaimsTarget, SwipeDirection.Down, 20);connection.Swipe(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.swipeMenu, viewMyClaimsTarget, SwipeDirection.Down, 20);
    3. [View My Claims] セクションをタップします。
      connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.viewmyclaims);connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.viewmyclaims);
    4. 1 番目の請求で [See details] をタップします。
      connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.firstClaimSeeDetails);connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.firstClaimSeeDetails);
    5. TakeScreenshot API を使用して、最初の申し立ての詳細のスクリーンショットを撮ります。
      connection.TakeScreenshot();connection.TakeScreenshot();
  6. 最後に、スクリーンショットを撮った後、[Back] の UI 要素を 2 回タップしてアプリのメイン メニューに戻ります。
    connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.backFromClaimDetails);
        connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.backFromClaimStatus);connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.backFromClaimDetails);
        connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.backFromClaimStatus);

このページは役に立ちましたか?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
Uipath Logo White
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.