activities
latest
false
重要 :
请注意此内容已使用机器翻译进行了部分本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。
UiPath logo, featuring letters U and I in white

用户界面自动化活动

上次更新日期 2024年12月20日

将移动自动化用于手机银行应用程序

在本教程中,我们将探索如何使用“移动自动化”包自动执行移动银行应用程序中的任务。本教程使用美国银行 (Bank of America) 提供的手机银行模拟器和 Sauce Labs 的 Google Pixel 模拟器。我们将专注于自动化和测试以下操作:

  1. 登录到应用程序。
  2. 实施借记卡锁定。
  3. 查看声明并截取屏幕截图。

本教程将介绍如何使用活动和 API 来自动化这些场景。

先决条件

要使用所需的移动设备和应用程序,我们必须先在移动设备管理器 (MDM) 中进行创建,如下所示:
  1. 将 Sauce Labs 中的设备添加到 MDM 中。

    有关添加设备的更多信息,请访问添加 Sauce Labs 设备

  2. 美国银行手机银行模拟器添加到 MDM 中。

    有关添加应用程序的更多信息,请访问添加应用程序

示例项目

要按照步骤自行尝试本教程,请查看以下示例项目:手机银行模拟器

使用活动

在此示例中,我们使用对象存储库元素作为活动的输入用户界面元素。要创建移动设备的用户界面元素,请在移动设备管理器 (MDM) 中的目标设备和应用程序之间建立连接。然后,直接在“对象存储库”面板中创建每个元素,并使用“指示元素”来指定 MDM 设备上的特定用户界面元素。

为轻松学习本教程,请查看以下列表以了解对象存储库结构:

  • 美国银行应用程序,移动屏幕菜单
    • backFromClaimDetails
    • backFromClaimStatus
    • BackToMenu
    • firstClaimSeeDetails
    • Lock
    • LockCard
    • Login
    • ManageDebitCredit
    • 菜单
    • 密码
    • swipeMenu
    • 用户 ID
    • viewmyclaims
提示:或者,您可以使用录制的操作创建类似的工作流。此流程涉及通过 MDM 在设备和应用程序之间创建连接,对此连接执行一系列操作,然后将这些步骤导入到一个序列中。有关更多信息,请访问使用录制器操作创建工作流

步骤

  1. 在设备和应用程序之间建立连接:
    1. 添加“移动设备连接”活动。
    2. 使用“选择连接详细信息”连接先前创建的移动设备和应用程序。
  2. 登录到移动应用程序:
    1. 添加“点击”活动以选择“用户 ID”字段,以便输入用户名。
    2. 添加“设置文本”活动,以便在“用户 ID ”字段中输入用户名。
    3. 添加“点击”活动以选择“密码”字段,以便您输入密码。
    4. 添加“设置文本”活动以输入相应的密码。
    5. 使用“点击”活动选择“登录”按钮。
    图 1. 登录到应用程序后执行的第一个活动

  3. 锁定借记卡或信用卡:
    1. 添加“点击”活动以导航至手机银行应用程序菜单。
    2. 添加“滑动”活动以在菜单中向下滑动。

      您需要一直滑动到“管理借记卡/信用卡”部分。

    3. 添加“点击”活动以选择“管理借记卡/信用卡”部分。
    4. 添加“点击”活动,为显示的第一张卡选择“锁定”图标。
    5. 添加“滑动”活动,在锁定卡通知中向下滑动。

      此操作允许您通过选择“锁定卡”来确认操作。

    6. 添加一个“点击”活动来选择“锁定卡”。
    图 2. 用于锁定借记卡的活动

  4. 截取声明的屏幕截图:
    1. 添加“点击”活动以选择“后退”按钮,然后返回到主菜单。
    2. 添加“滑动”活动以在主菜单中向下滑动,直到出现“查看我的声明”部分。
    3. 使用“点击”活动选择“查看我的声明”部分。
    4. 添加“点击”活动,选择第一个声明的“查看详细信息”。
    5. 使用 TakeScreenshot API 截取第一个声明详细信息的屏幕截图。
    图 3. 用于截取声明屏幕截图的活动

  5. 最后,截取屏幕截图后,我们使用“点击”活动选择两次“返回用户界面”元素,返回到应用程序的主菜单。

使用编码自动化

先决条件

要使用 API 自动化移动应用程序,请在项目的对象存储库中记录应用程序移动元素。在此示例中,我们使用通用移动屏幕创建了美国银行应用程序,其中包含我们用于自动化的所有用户界面元素。要创建移动设备的用户界面元素,请在移动设备管理器 (MDM) 中的目标设备和应用程序之间建立连接。然后,直接在“对象存储库”面板中创建每个元素,并使用“指示元素”来指定 MDM 设备上的特定用户界面元素。

查看以下列表以了解对象存储库的结构:

  • 美国银行应用程序,移动屏幕菜单
    • backFromClaimDetails
    • backFromClaimStatus
    • BackToMenu
    • firstClaimSeeDetails
    • Lock
    • LockCard
    • Login
    • ManageDebitCredit
    • 菜单
    • 密码
    • swipeMenu
    • 用户 ID
    • viewmyclaims

步骤

  1. 在设备和应用程序之间建立连接:
    1. 使用 Connect API 和第二个重载版本创建一个 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 以 选择“密码”字段,以便输入 密码。
      connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.Password);connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.Password);
    4. 使用 Set Text API 在“密码”字段中输入密码。
      WithSendNewLine(false) 方法可确保发送文本后不会在移动设备上按下“确定”键盘元素。有关 Set TextAPI 的可用选项的更多信息,请访问 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 在菜单中向下滑动。

      您需要一直滑动到“管理借记卡/信用卡”部分。

      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 选择“管理借记卡/信用卡”部分。
      WithTimeout() 方法使 API 可以暂停预定的秒数。此暂停将持续到出现目标用户界面元素或引发错误为止。
      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 在锁定卡通知中向下滑动, 这样我们就可以通过选择“锁定卡”来确认 操作。
      connection.DirectionalSwipe(SwipeDirection.Down);connection.DirectionalSwipe(SwipeDirection.Down);
    6. 使用 Tap API 选择 “锁定卡”。
      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. 在主菜单中向下滑动,直到出现“查看我的声明”部分。
      对于此步骤,我们使用 Swipe API,这次使用第六个重载。此重载需要滑动容器的 IElementDescriptor,以及目标用户界面元素的 SelectorTarget
      我们首先为“查看我的声明”部分创建SelectorTarget,然后使用 Swipe API。
      1. 打开 MDM 并创建移动设备和应用程序之间的连接。
      2. 转到对象存储库,并为移动屏幕创建一个新元素。
      3. 选择“指明元素”。
      4. “选择选项”菜单中,复制选取器标识的网页控件。

        对于此手机银行应用程序,您必须确保将“WebView 选取器作为原生选取器”选为选择选项。

      5. 返回到代码 编辑器,然后创建一个类型为 SelectorTarget 的 变量。使用 MobileTarget.FromSelector 方法,该方法 需要您先前复制的网页控件作为 参数。
        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. 将 Swipe API 与 SelectorTarget 变量 结合使用以完成向下滑动 操作。
        connection.Swipe(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.swipeMenu, viewMyClaimsTarget, SwipeDirection.Down, 20);connection.Swipe(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.swipeMenu, viewMyClaimsTarget, SwipeDirection.Down, 20);
    3. 点击“查看我的 声明” 部分。
      connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.viewmyclaims);connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.viewmyclaims);
    4. 点击第一个 声明的“查看详细 信息”。
      connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.firstClaimSeeDetails);connection.Tap(ObjectRepository.Descriptors.BankOfAmerica.MobileScreen.firstClaimSeeDetails);
    5. 使用 TakeScreenshot API 截取第一个声明详细信息的 屏幕截图。
      connection.TakeScreenshot();connection.TakeScreenshot();
  6. 最后,截取屏幕截图后,我们通过 点击“返回用户界面”元素两次,返回到应用程序的 主菜单。
    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 Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。