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

用户界面自动化活动

开始使用移动自动化 API

本快速入门指南可帮助您使用移动自动化 API 创建第一个编码自动化。本教程使用UiPath™ Android 基本应用程序和 Sauce Labs 的 GooglePixel 模拟器进行自动化测试。

1. 在移动设备管理器中添加移动设备和应用程序

要在编码自动化中使用所需的移动设备和应用程序,我们必须首先在 MDM(移动设备管理器)中创建它们:

  1. 要创建应用程序,请执行以下操作:

    1. 开启 MDM 中,转到“应用程序

    2. 选择“添加应用程序”

    3. 在“编辑应用程序”窗口中,输入所需的信息:

      1. 名称:在此示例中,使用Basic App - Android
      2. 类型:对于原生应用程序,选择“App”
      3. 平台:选择“Android”以自动化 Android 应用程序。
      4. 应用程序:对于此示例,将以下链接输入到基本 Android 应用程序: https://uipathtestappsto.blob.core.windows.net/testapps/BasicAppAndroid.apk
      5. 应用程序包:输入移动应用程序包,例如com.example.basicapp
      6. “应用程序活动” :输入活动实例,例如: .core.MainActivity
      7. 对于“其他所需功能” (不推荐) ,添加appium:app功能,以确保应用程序按预期运行。

      表格 1. 其他所需功能

      名称
      appium:appappium:app https://uipathtestappsto.blob.core.windows.net/testapps/BasicAppAndroid.apk

  2. 要创建设备,请执行以下操作:

    1. 转到“设备”,然后选择“添加设备”
    2. 为设备命名。在此示例中,使用 Google Pixel 3a GoogleAPI Emulator
    3. 设置以下参数:Appium URL平台设备名称平台版本
      1. 从您选择的移动设备场提供程序检索参数。在此示例中,我们使用的是 Sauce Labs。
      2. 要获取 Appium URL,请转到“帐户”,然后转到“用户设置”。复制“驱动程序创建”下的按需 URL
      3. 要获取平台设备名称平台版本,请转到“自动化” ,然后再转到“平台配置器” 。选择Google Pixel 3a GoogleAPI EmulatorAndroid Emulator version 10.0的功能。在“配置脚本”下,选择您的Appium version例如 或 )。在此示例中,请使用 2.0.0。
      4. 将 Sauce 实验室中的值复制并粘贴到 MDM 中。
    4. 选择“保存并关闭”
    5. 选择“在此设备上启动应用程序”,然后连接该设备与先前创建的应用程序。

2. 为移动应用程序创建对象存储库

要自动化您的首选移动应用程序,请在项目的对象存储库中记录其移动元素。在此示例中,我们创建了一个带有常规主屏幕的“基本应用程序”应用程序,其中包含我们用于自动化的三个用户界面元素。检查以下列表,查看对象存储库的结构如何显示:

  • 基本应用程序

    • 主屏幕
      • 编辑文本
      • 单击按钮
      • 验证文本

3. 建立连接

在 MDM 中配置设备和应用程序后,请开始为自动化编写代码。在开始使用移动自动化 API 之前,您需要使用相应的 API 在所选移动设备和应用程序之间建立连接。

connection 是一个类,表示您在设备和应用程序之间创建的连接,该连接公开了可用于自动化移动测试场景的 API。有关创建 connection 的更多信息,请访问连接

要创建连接,您可以使用一组专用 API。在此示例中,我们使用了连接 API 和第二个重载,它要求设备和应用程序名称为字符串。

使用以下步骤创建连接:

  1. using 语句开始,以避免创建单独的变量。

  2. using语句中,使用第二个重载版本调用连接API。对于此重载,请输入设备名称和应用程序名称以建立连接。

    [TestCase]
    public void Execute()
    {
       using (Connection connection = mobile.Connect(
          "Google Pixel 3a GoogleAPI Emulator", 
          "Basic App - Android"))
    [TestCase]
    public void Execute()
    {
       using (Connection connection = mobile.Connect(
          "Google Pixel 3a GoogleAPI Emulator", 
          "Basic App - Android"))
    
  3. (可选)出于调试目的,您可以添加一条 Log 消息。

       Log("Connection established");
       Log("Connection established");
    

4. 开始自动化移动应用程序和设备

此示例中的自动化流程包括点击某些按钮,获取移动设备屏幕上显示的文本以及滑动滑块控件。这些操作模拟现实生活中的移动自动化场景。

为了自动化此示例中的用户界面元素,我们使用了 IElementDescriptors。这些元素表示直接从对象存储库访问的用户界面元素。除 IElementDescriptors 外,您还可以将其他选取器类型与移动自动化 API 一起使用,例如 ObjectRepositoryTargetSelectorTarget。请访问 API 选取器,了解如何以及何时使用其他选取器类型。

  1. 调用Tap API,以从 Android 基本应用程序单击单击按钮。

       // Tap the SingleClickButton
       connection.Tap(Descriptors.BasicApp.HomeScreen.SingleClickButton);
       Log("Tapped SingleClickButton ");
       // Tap the SingleClickButton
       connection.Tap(Descriptors.BasicApp.HomeScreen.SingleClickButton);
       Log("Tapped SingleClickButton ");
    
  2. 使用设置文本API 在“编辑文本”字段中输入特定文本。

       string expectText = "Random text";
       connection.SetText(Descriptors.BasicApp.HomeScreen.EditText, expectText);
       Log("Inserted random text");
       string expectText = "Random text";
       connection.SetText(Descriptors.BasicApp.HomeScreen.EditText, expectText);
       Log("Inserted random text");
    
  3. 获取先前设置的文本,并验证它是否与验证文本用户界面元素中的文本匹配。使用获取文本 API验证表达式 API

       var actualText = connection.GetText(Descriptors.BasicApp.HomeScreen.VerifyText);
       testing.VerifyExpression(expectText == actualText, "EditText validation failed.");
       SelectorTarget selector = null;
       var actualText = connection.GetText(Descriptors.BasicApp.HomeScreen.VerifyText);
       testing.VerifyExpression(expectText == actualText, "EditText validation failed.");
       SelectorTarget selector = null;
    
  4. 使用 PositionalSwipe API 移动滑块控件。

    PositionalSwipe API 需要两个Point变量,表示滑动操作的起点和终点。在使用 API 之前创建这些点以增强可读性。

       // Perform a positional swipe operation to use the slider
    
       var startPoint = new Point(226, 304);
       var endPoint = new Point(296, 304);
    
       connection.PositionalSwipe(startPoint, endPoint);
    
       Log("Performed Swipe action.");
       // Perform a positional swipe operation to use the slider
    
       var startPoint = new Point(226, 304);
       var endPoint = new Point(296, 304);
    
       connection.PositionalSwipe(startPoint, endPoint);
    
       Log("Performed Swipe action.");
    

    要获取屏幕位置,请转到 MDM 中的活动连接。将光标悬停在移动屏幕上。这将在 MDM 的左下角显示光标的位置(以像素为单位)。

工作流示例

要按照此快速入门指南中的步骤操作,或者自己尝试,请下载移动自动化 API 快速入门示例

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新