Appium 从Android/iOS屏幕获取所有UI定位器,用于移动自动化测试
问题定义:我正在尝试开发一个实用程序,它可以在我的windows中镜像Android/iOS设备屏幕,点击一个按钮,它可以在一个xls文件中提供屏幕上可用的所有定位器 我正在努力找到解决这个问题的方向。到目前为止,我发现使用Android的ddmlib库,我们可以与DDMS进行交互。我不知道如何与这个ddmlib库交互。另外,是否可以使用ddmlib库镜像Android屏幕?对我来说还是个问题 在我看来,运气不好Appium 从Android/iOS屏幕获取所有UI定位器,用于移动自动化测试,appium,ui-automation,ios-ui-automation,ddms,ddmlib,Appium,Ui Automation,Ios Ui Automation,Ddms,Ddmlib,问题定义:我正在尝试开发一个实用程序,它可以在我的windows中镜像Android/iOS设备屏幕,点击一个按钮,它可以在一个xls文件中提供屏幕上可用的所有定位器 我正在努力找到解决这个问题的方向。到目前为止,我发现使用Android的ddmlib库,我们可以与DDMS进行交互。我不知道如何与这个ddmlib库交互。另外,是否可以使用ddmlib库镜像Android屏幕?对我来说还是个问题 在我看来,运气不好 寻找方向。谢谢 您可以使用appium inspector检查android和io
寻找方向。谢谢 您可以使用appium inspector检查android和ios的元素
appium inspector中有一个复制XML按钮,它将所有定位器保存为一个XML文件,只需单击一个按钮即可使用appium inspector检查android和ios的元素
appium inspector中有一个复制XML按钮,它将所有定位器保存为一个XML文件,只需单击一个按钮即可您可以要求开发人员将相同的Android ID设置为iOS UI视图 他们只需为每个元素设置可访问性标识符即可解决问题 他们可以在Interface builder中或通过编程实现
view.AccessibilityIdentifier = "CreditCardTextField";
或者,您必须为每个元素找到xpath并执行更难的操作您可以要求开发人员将相同的Android ID设置为iOS UI视图 他们只需为每个元素设置可访问性标识符即可解决问题 他们可以在Interface builder中或通过编程实现
view.AccessibilityIdentifier = "CreditCardTextField";
或者,您必须为每个元素找到xpath并执行更难的操作XML不包含所有对象,它只包含app_视图元素,如果是这样的话,应用程序正在使用任何webview,然后您可以使用元素检查器--可能会获取整个页面的源代码,然后在那里应用您的逻辑。@谢谢您的回复,但我正在寻找一种习惯性地执行相同操作的方法。@Pankaj如何为本机应用程序执行此操作?@Pankaj此应用程序检查器将捕获iOS/Android的所有uia元素对象,即使是两者本机上下文中的本机和混合应用程序..比任何其他工具都可以..对于webview上下文,您可以使用普通dom元素来自动使用appiumXML不包含所有对象,它只包含app_视图元素,如果在这种情况下,应用程序正在使用任何webview,然后您可以使用元素检查器--可能会获取整个页面的源代码,然后在那里应用您的逻辑。@谢谢您的回复,但我正在寻找一种习惯性地执行相同操作的方法。@Pankaj如何为本机应用程序执行此操作?@Pankaj此应用程序检查器将捕获iOS/Android的所有uia元素对象,即使是两者本机上下文中的本机应用程序和混合应用程序..比任何其他工具都可以..对于webview上下文,您可以使用普通dom元素自动使用appiumFirst打印页面源。您可以尝试以下方法吗,System.out.println(driver.getPageSource());并将其保存到一个文件中…这是否解决了问题?首先要打印页面源,您可以尝试以下方法:System.out.println(driver.getPageSource());并将其保存到文件中…这是否解决了问题?