【问题标题】:Start iOS UI test session without Xcode or xcodebuild在没有 Xcode 或 xcodebuild 的情况下启动 iOS UI 测试会话
【发布时间】:2026-02-18 18:05:02
【问题描述】:

测试设置:通过 USB 连接的 Windows PC 和 iOS 设备。在设备内部有一个 MyAppUITests 应用程序,它包含所有基于 XCTest 的 UI 测试,以便在此设备上测试一些与 UI 相关的东西。问题是:如何运行这个应用程序才能真正执行测试并收集调试控制台输出?

我知道有一个 libimobiledevice 库允许我这样做:

idevicedebug -u [udid] -e [some_env_variables] run [bundle_id]

但据我了解,此工具不会启动特殊的 UI 测试运行程序(如 this WWDC video 中所述),它会执行所有自动化 UI 测试并生成调试输出。

我知道 Xcode 可以通过 GUI 或 xcodebuild 实用程序来做到这一点,如下所示:

xcodebuild -project myapp.xcodeproj -scheme "MyAppUITests" \
           -destination 'platform=iOS,name=MyTestDevice' test

Xcode 知道如何运行能够正确运行我的 UI 测试的测试管理器守护程序的魔术。

有没有办法使用 libimobiledevice 或 Windows 平台上可用的任何其他 3rd 方工具通过 UI 测试运行我的 UI 测试应用程序?

【问题讨论】:

    标签: ios xctest ui-testing libimobiledevice


    【解决方案1】:

    libimobiledevice 没有实现在非 Windows 机器上启动 Xcode UI 测试所需的 API。

    Windows 上有 3rd 方工具可以在 Windows 和 Linux 上运行 Xcode UI 测试。它们中的大多数(如果不是全部)旨在执行 Facebook WebDriverAgent,并不真正支持任意 Xcode UI 测试,尽管它们可能并不难支持任意 Xcode UI 测试。

    我工作的公司 Quamotion 提供了这样的工具。您可以通过http://quamotion.mobi 下载我们的软件并申请试用许可证。

    如果您仍然对此感兴趣,请随时回复,我们会努力解决这个问题。

    【讨论】:

      最近更新 更多