测试设置:通过USB连接的Windows PC和iOS设备。设备内部有一个 MyAppUITests 应用程序,其中包含在此设备上测试某些与 UI 相关内容所需的所有基于 XCTest 的 UI 测试。问题是:如何运行此应用程序,以便它实际执行测试并收集调试控制台输出?
我知道有一个libimobiledevice库可以让我这样做:
idevicedebug -u [udid] -e [some_env_variables] run [bundle_id]
但据我了解,此工具不会启动特殊的 UI 测试运行程序(如本 WWDC 视频中所述(,后者反过来执行所有自动化 UI 测试并生成调试输出。
我知道Xcode可以通过GUI或通过xcodebuild
这样的实用程序来做到这一点:
xcodebuild -project myapp.xcodeproj -scheme "MyAppUITests"
-destination 'platform=iOS,name=MyTestDevice' test
Xcode 知道如何运行测试管理器守护程序的魔术技巧,该守护程序将正确运行我的 UI 测试。
有没有办法使用libimobiledevice或 Windows 平台上提供的任何其他第三方工具通过 UI 测试运行我的 UI 测试应用程序?
libimobiledevice没有实现在非Windows机器上启动Xcode UI测试所需的API。
Windows上有第三方工具可以在Windows和Linux上运行Xcode UI测试。它们中的大多数(如果不是全部(都是为执行Facebook WebDriverAgent而设计的,并不真正支持任意的Xcode UI测试,尽管它们可能并不难支持任意的Xcode UI测试。
我工作的公司Quamotion提供了这样的工具。您可以在 http://quamotion.mobi 下载我们的软件并申请试用许可证。
如果您仍然对此感兴趣,请随时回复,我们将尽力完成这项工作。