如何使用 Instruments UIAutomation 测试 iOS Web 应用程序

Posted

技术标签:

【中文标题】如何使用 Instruments UIAutomation 测试 iOS Web 应用程序【英文标题】:How to test iOS web application using Instruments UIAutomation 【发布时间】:2012-11-06 07:45:03 【问题描述】:

当我测试本机应用程序时,我可以选择目标(选择目标列表中列出的来自真实设备的应用程序;或者在模拟器的情况下 - 在应用程序项目中选择配置文件菜单项)。

但是如何为网络应用选择目标呢?

在这种情况下,我是否必须选择某个浏览器作为目标?设备有 Safari 和 Chrome 浏览器。 Chrome 浏览器出现在目标列表中。但是当我尝试运行脚本时,它不起作用。 Chrome 刚刚启动,但会执行任何操作。

我还尝试创建只需在浏览器中打开网页的 XCode 项目。但是当我尝试运行脚本时出现“目标应用程序不是最前面的”错误。 如果仪器选择目标列表中不存在这些应用程序,是否有可能选择设备上安装的应用程序作为目标?设备主页上有指向 Web 应用程序的链接。我可以以某种方式选择它作为目标吗?在 Organizer(从 XCode 调用)中,仅显示一个 - 本机 - 应用程序。

【问题讨论】:

【参考方案1】:

UI 自动化仅适用于您使用 Xcode 构建的本机应用程序。从您的问题来看,您似乎想为 ios 启动 Mobile Safari 或 Chrome,并使用 UI 自动化对其进行操作。那是行不通的。 Instruments 可以让您连接到在模拟器或设备上运行的未编译的应用程序,但只有部分 Instruments 可以工作,而 UI Automation 不是其中之一。

如果您的 Web 应用程序封装在原生 shell 中,那么您可以使用 UI 自动化。您可能想查看Phone Gap。它是一个完整的包装器,它尝试将本机功能暴露给您不需要的 Web 应用程序。但是,如果您仍然想尝试这个,它是一个得到很好支持的网页包装器这一事实可能是一个很好的起点。

【讨论】:

【参考方案2】:

UI 自动化不支持网络自动化。试用适用于 iOS 的 Selenium Web 驱动程序,有助于在 iOS Safari 浏览器上自动化 Web 应用程序。在设备和模拟器上运行。

【讨论】:

以上是关于如何使用 Instruments UIAutomation 测试 iOS Web 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

如何读取 Xcode 6.1 Instruments .trace 文件?

如何在 Instruments 上跟踪 UI 事件

Instruments:UI Automation:iPhone app - 如何使用 NSRect 的参数点击“null”按钮?

Xcode Instruments - 如何打开有问题的文件进行编辑?

如何使用 Appium Xcode Instruments 执行单个命令

如何在 ARC 下的 Instruments 中激活 Cycles 报告?