使用 Xcode 中 Instruments 中的 UIAutomation 模块可以完成什么类型的测试?
测试是用 JavaScript 编写的。可以完成的测试之一是检查文本字段是否具有特定字符串或为空。
这种类型的测试也可以通过 Objective-C 来完成,那为什么要使用 UIAutomation。
最佳答案
你是对的,测试类型可以通过 Objective-C 完成(通过“UI 测试”),但这是 Xcode 7 的一个新功能。在 Xcode 7 之前,通过工具编写测试来自动化 UI 是以 Apple 支持的方式与设备交互的唯一方式,并提供命令行支持。
现在 Xcode 7 已经推出了 UI 测试,仪器的 UIAutomation 已被弃用。如果您正在编写新的测试,如果可以的话,您应该避免使用 UIAutomation。 从 Xcode 8 开始,UIAutomation 实际上已被删除,所以绝对不要使用它。
Deprecations
•The existing UIAutomation support in Instruments is deprecated. Use UI testing in Xcode 7. (22345571)
--
尽管如此,与新的 UI 测试相比,仪器和 UIAutomation 仍然有一些优势(至少到目前为止)。现在,您需要更少的时间来针对连接的设备运行仪器测试。您只需要 Xcode、为开发而设置的受信任设备、设备上的应用程序以及要针对该应用程序运行的脚本。将应用程序移植到设备上有点困难,因为 Apple 没有提供以自动化方式执行此操作的好方法,但有很多第三方框架可以解决此问题。
另一方面,UI 测试需要 Xcode、一个为开发而设置的受信任设备、一个使用您的应用程序和 UI 测试目标设置的项目,然后您需要使用 xcodebuild 来运行它。根据您想要运行的自动化类型,必须确保您的机器已设置为构建您的项目可能会很麻烦或昂贵。
关于javascript - Instruments Xcode 中的 UIAutomation 测试模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34063915/