【问题标题】:Appium: Right way to find elements on Android screenAppium:在 Android 屏幕上查找元素的正确方法
【发布时间】:2014-09-08 07:50:51
【问题描述】:

我想使用 Appium 对我的 Android 应用进行自动化测试。我正在用 C# 编写测试。我在搜索中做了相当多的分享,但找不到一个很好的文档来解释如何访问 Android 屏幕上的元素。我知道有FindElementsByXPathFindElementByIdFindElementByName 等方法,但我无法正确使用这些方法,因为我遇到了异常。请阅读以下问题:

1) 要使用FindElementsByXPath 方法,我需要提前知道PageSource,它只能使用driver.PageSource 获得。在运行测试之前有什么方便的方法可以知道PageSource,以便我可以将XPath 字符串作为参数传递给FindElementsByXPath

2) 我在 Android 屏幕上EditTextView。在布局中声明如下:

<EditText
        android:id="@+id/password"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="textPassword"
        android:textSize="12dp"
        android:imeOptions="actionDone|flagNoExtractUi" 
        >

我应该如何在编写测试时使用它的 ID (即“密码”)访问这个 EditTextView

3) 是否可以以编程方式将文本设置为EditTextView?如果是,怎么做?

感谢您花时间阅读整个问题。如果您有任何资源来解释如何在编写Appium 测试时访问和操作 Android 屏幕上的元素,请提供给我。

【问题讨论】:

    标签: c# android appium automated-tests selendroid


    【解决方案1】:

    对于 Android 应用,我使用 UIAutomatorViewer 查看应用上的所有元素。它是 Android sdk 的一部分,显示不同的标识符,包括 id、类名和文本。

    【讨论】:

      【解决方案2】:

      首先 - 您正在测试什么应用程序?它是网络应用程序还是本机应用程序?您是否在 Androud 设备上运行网络浏览器?

      【讨论】:

        【解决方案3】:

        您可以在 SDK 文件夹的 Tools 文件夹中找到“uiautomatorviewer”,这是一个批处理文件。你必须使用那个。从中,您可以捕获设备或模拟器的屏幕截图并找到 ID。使用 UI-automator,您可以获得资源 ID、类名等。对于一个元素。

        【讨论】:

          猜你喜欢
          • 2018-05-20
          • 2017-12-21
          • 2011-05-31
          • 1970-01-01
          • 2020-11-25
          • 2016-01-21
          • 1970-01-01
          • 2019-05-20
          • 1970-01-01
          相关资源
          最近更新 更多