【问题标题】:iOS8 - is there an example of UIAutomation framework from code?iOS8 - 是否有代码中的 UIAutomation 框架示例?
【发布时间】:2014-11-01 22:26:54
【问题描述】:

我一直在阅读有关使用工具实现 UI 自动化的内容,旧文档建议使用 javascript 库来访问最前端的应用程序,然后访问 UI 视图层次结构。

我看到 iOS8 设备在设置的开发者菜单中有“启用 UI 自动化”选项。我还看到 iOS8 中有一些关于 UIAutomation 框架的文档,在我看来它允许从代码中执行 UIAutomation。

是否有从代码中使用 iOS8 UIAutomation 框架的示例,我可以查看这些示例以了解这是否适合我的框架?

我在查找有关 UIAutomation 框架的信息时看到了这个屏幕,我认为它让我误以为它在 Obj-c 或 Swift 中可用,因为顶部有按钮。 有人可以确认这个框架在 swift 或 Obj-c 中都不可用并且仍然是一个 javascript 框架吗?

.

【问题讨论】:

    标签: ios testing ui-automation ios-ui-automation


    【解决方案1】:

    我相信 UIAutomation 仍然是一个仅限 JavaScript 的测试框架。如果支持任何其他语言,我们会在 WWDC 或发行说明中听到其他信息。

    然而,这方面的具体证据是,分析应用程序时使用的“自动化”工具没有语言下拉菜单来指示另一种语言是可能的(比如,你在 Xcode 中创建新类时会这样做,并且有一个下拉菜单 - Swift 和 Objective-C)。

    如果您使用自动化仪器内置的自动记录功能,您看到的代码是 JavaScript。缺乏选择另一种语言的选项很能说明问题。 Instruments 也确实在 Xcode 6 中进行了细微的视觉调整,这一事实并没有改变。

    遗憾的是,UIAutomation 框架最近似乎并没有受到太多人的喜爱(自 2010 年 iOS4 发布以来,并没有发生太大变化,这导致一些人猜测正在进行重大改造,或者它正在被遗忘)。

    要查看旨在为 iOS 编写测试的 JavaScript 代码是什么样的,请查看 Alex Vollmer 的 Tuneup JS 库:http://www.tuneupjs.org。他的库提供了比 Apple 的 UIAutomation JavaScript 类更高级别的抽象,同时仍然使用 JavaScript。

    他在那里链接了一个示例项目,该项目在 Apple 自己的 UICatalog 示例应用程序上运行测试。

    与 Apple 提供的更原始的 JavaScript 类相比,使用 Tuneup JS 之类的库是一种更好的方法,这实际上只是一个起点。

    【讨论】:

      【解决方案2】:

      你应该看看潜意识。它是一个构建在 UIAutomation 之上的测试框架,允许您使用 Objective C 或 Swift 编写测试。

      https://github.com/inkling/Subliminal

      【讨论】:

        【解决方案3】:

        我们使用 Illuminator 框架(我编写的)在 iOS 8 中运行 UIAutomation,并在我们的 CI 中使用它。它是 UIAutomation 提供的一组 Javascript 扩展。

        目前,Javascript 是 Apple 支持的唯一 UIAutomation 语言。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-09-15
          • 1970-01-01
          • 2012-12-28
          • 1970-01-01
          相关资源
          最近更新 更多