iOS8 - 代码中是否有UIAutomation框架的示例?

时间:2014-09-08 16:20:27

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

我一直在阅读使用乐器的UI自动化,旧文档建议使用javascript库访问最前面的应用程序,然后访问UI视图层次结构。

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

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

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

enter image description here

3 个答案:

答案 0 :(得分:2)

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

然而,具体的证据是"自动化"在分析应用程序时使用的工具没有语言下拉菜单,表明可以使用其他语言(例如,在Xcode中创建新类时,以及Swift和Objective-C的下拉列表)。

如果您使用自动化仪器内置的自动录制功能,您看到的代码就是JavaScript。缺乏选择另一种语言的选择。乐器也通过Xcode 6进行了一次小的视觉调整,这个事实没有改变。

UIAutomation框架,遗憾的是最近似乎并没有得到很多的关注(自从2010年iOS4发布以来没有发生任何变化,导致一些人猜测那里有一个重大的改进工作或它被遗忘了。)

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

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

使用像Tuneup JS这样的库是比Apple提供的更原始的JavaScript类更好的方法,这只是一个起点。

答案 1 :(得分:2)

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

https://github.com/inkling/Subliminal

答案 2 :(得分:1)

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

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

相关问题