【问题标题】:Get all UI locators from Android/iOS screen for Mobile Automation Testing从 Android/iOS 屏幕获取所有 UI 定位器以进行移动自动化测试
【发布时间】:2016-05-17 23:10:23
【问题描述】:

问题定义:我正在尝试开发一种实用程序,它可以在我的窗口中镜像 Android/iOS 设备屏幕,单击按钮即可在一个 xls 文件中提供屏幕上所有可用的定位器。

我正在努力寻找解决这个问题的方向。到目前为止,我发现使用 Android 的 ddmlib 库我们可以与 DDMS 进行交互。我不知道如何与这个 ddmlib 库进行交互。另外是否可以使用 ddmlib 库镜像 Android 屏幕?对我来说仍然是一个问题。

在 iOS 方面没有运气。

寻找方向。谢谢!

【问题讨论】:

  • 第一个打印pagesource你可以试试这个,System.out.println(driver.getPageSource());并将其保存到文件中...这是否解决了问题?

标签: appium ui-automation ios-ui-automation ddms ddmlib


【解决方案1】:

您可以要求开发者为iOS UI视图设置相同的Android id

他们只需要为每个元素设置 Accessibility Identifier 即可解决问题。

他们可以在界面生成器中或以编程方式完成

view.AccessibilityIdentifier = "CreditCardTextField";

否则你必须为每个元素找到 xpath 并做到这一点,这更难

【讨论】:

    【解决方案2】:

    您可以使用 appium 检查器检查 android 和 ios 的元素..

    appium 检查器中有一个复制 XML 按钮,单击按钮即可将所有定位器保存为 xml 文件

    【讨论】:

    • XML 不包含所有对象,它仅包含 app_view 元素,如果应用程序正在使用任何 web 视图,那么您的元素检查器 - 可能会获取整个页面源,然后在那里应用您的逻辑.
    • @Sunder 感谢您的回复,但我正在寻找一种方法来习惯性地做同样的事情。
    • @Pankaj Native 应用怎么做?
    • @pankaj 这个 appium 检查器将捕获 iOS/Android 的所有 uia 元素对象,即使对于本机上下文中的本机和混合应用程序也是如此..比任何其他工具都可以..对于 webview 上下文,您可以使用普通 dom使用 appium 自动化的元素
    猜你喜欢
    • 1970-01-01
    • 2014-08-03
    • 2015-06-06
    • 1970-01-01
    • 2014-03-05
    • 1970-01-01
    • 2018-08-05
    • 2016-01-07
    • 1970-01-01
    相关资源
    最近更新 更多