仪器Xcode中的UIAutomation测试模块

时间:2015-12-03 10:46:10

标签: javascript objective-c xcode automated-tests instruments

使用Xcode中的仪器中的UIAutomation模块可以进行哪些类型的测试?

测试用javascripts编写。可以做的一个测试是检查textfield是否有特定的字符串或空。

这种类型的测试也可以通过objective-c完成,那么为什么要使用UIAutomation。

1 个答案:

答案 0 :(得分:2)

你是正确的,测试的类型可以通过objective-c(通过“UI测试”)完成,但这是Xcode 7的新功能。在Xcode 7之前,编写测试以通过仪器自动化UI是唯一的方式是以Apple支持的方式与设备交互,并提供命令行支持。

现在Xcode 7已经推出了UI测试,不推荐使用乐器的UIAutomation。如果您正在编写新测试,则应该避免使用UIAutomation,如果可以的话。 从Xcode 8开始,UIAutomation实际上已被删除,因此绝对不要使用它。

  

弃用

     

•不推荐使用仪器中现有的UIAutomation支持。在Xcode 7中使用UI测试(22345571)

https://developer.apple.com/library/ios/releasenotes/DeveloperTools/RN-Xcode/Chapters/xc7_release_notes.html#//apple_ref/doc/uid/TP40001051-CH5-DontLinkElementID_178

-

所有这一切,与新的UI测试相比,仪器和UIAutomation仍然有一些优势(至少截止到目前为止)。现在,您需要更少的资源来对连接的设备进行仪器测试。您只需要Xcode,一个为开发设置的可信设备,您在设备上的应用程序,以及您希望针对该应用程序运行的脚本。将应用程序放到设备上有点困难,因为Apple没有提供以自动方式实现这一点的好方法,但是为解决这个问题已经建立了很多第三方框架。

另一方面,UI测试需要Xcode,一个为开发设置的可信设备,一个使用您的应用程序和UI测试目标设置的项目,然后您需要使用xcodebuild来运行它。根据您要运行的自动化类型,必须确保您的机器设置为构建项目可能会很麻烦或者很昂贵。