Xcode UI 测试不会自动启动模拟器

Posted

技术标签:

【中文标题】Xcode UI 测试不会自动启动模拟器【英文标题】:Xcode UI tests don't automatically launch simulator 【发布时间】:2019-03-28 12:34:45 【问题描述】:

通常当 Xcode 开始一个 UI 测试时,它会首先自动启动选择的模拟器。

我有一个项目坏了:如果模拟器还没有打开,我得到这个错误:

“未启动任何设备。”

这发生在调用测试setup() 函数之前。 如果模拟器已经打开,一切正常。 它对于一个特定项目是本地的,并且如果我在该项目中创建一个新的 UI 测试目标,它仍然存在 如果我使用新的 UI 测试包创建新项目,则不会发生此问题 - 模拟器会正常启动。 我使用的是 Xcode 10.2,并尝试过重置模拟器以及重新安装它们。 它会干扰并行运行 UI 测试,因为克隆不会自动启动。

有谁知道这可能与什么有关?

【问题讨论】:

【参考方案1】:

我在一个项目中遇到了这个问题,这是因为我们有一个使用这个 shell 脚本的“重置模拟器”构建阶段:

/usr/bin/xcrun simctl uninstall booted your.bundle.identifier

我通过查看构建错误消息的最顶部并查看触发错误的原因找到了问题的根源。就我而言,它发生在“运行自定义 shell 脚本'重置模拟器'”这导致我进入导致它的阶段/脚本:Screenshot

【讨论】:

【参考方案2】:

尝试使用重置模拟器

    硬件 -> 擦除所有内容和设置。

    如果这没有帮助,我认为您可以检查以下是否有帮助

    xcrun simctl 全部擦除 // 指定 all 将擦除所有现有设备。 “删除设备的内容和设置。 用法:simctl 擦除 [...] |全部”

您还可以添加您正在使用的 Xcode 版本吗?

【讨论】:

不幸的是,这似乎并不容易!它通过在两台机器上重置、删除和重新安装模拟器以及升级 Xcode 来持续存在。我现在使用的是 Xcode 10.2。 ***.com/questions/36409060/… ***.com/questions/36413059/… 试试这两个帖子,可能你正在做与那些帖子中讨论的类似的事情。

以上是关于Xcode UI 测试不会自动启动模拟器的主要内容,如果未能解决你的问题,请参考以下文章

自动化 Xcode 模拟器:如何从终端构建和启动应用程序

为啥 XCode 启动应用程序两次以运行 UI 测试?

Appium移动端自动化测试-安卓真机+模拟器启动

如何修复 Xcode 10 中的“XCtests 间歇性无法在模拟器中启动应用程序”

iOS自动化之启动多个WDA

iOS自动化之启动多个WDA