有没有人经历过并解决过:
XCTests 间歇性无法在模拟器中启动应用程序进行 UI 测试 (XCUI)。
我正在快速通道中运行,不同的测试似乎每次测试运行都失败。
操作系统:10.12.3
iOS模拟器:10.0
Xcode 8.2.1
快车道2.11.0
尝试通过在我的测试中在设置和启动之间添加 3 秒睡眠来修复它,但它仍然出现,也许不那么频繁,但仍然......
UI 测试失败 - 尝试启动失败
:
错误域=FBSOpenApplicationServiceErrorDomain代码=1“请求
打开“no.something.bb.debug”失败。”
UserInfo={NSLocalizedDescription=请求打开
“no.something.bb.debug”失败。, NSLocalizedFailureReason=请求
被服务委托 (SBMainWorkspace) 拒绝,原因是:忙
(“应用程序“no.something.bb.debug”正在安装或卸载,
并且无法启动")。, BSErrorCodeDescription=RequestDenied,
NSUnderlyingError=0x6080002598f0 {错误
域=FBSOpenApplicationErrorDomain 代码=6“应用程序
“no.something.bb.debug”正在安装或卸载,无法
已启动。” UserInfo={BSErrorCodeDescription=Busy,
NSLocalizedFailureReason=应用程序“no.something.bb.debug”是
正在安装或卸载,并且无法启动。}}}
我遇到了同样的问题。我发现有一个雷达为此开放。在评论中,我发现了一个在重试函数中实现的提示。
参数数组是枚举值数组,其中基本类型为 String。我将其用于应用程序参数。
不幸的是,这还没有完全证明。就我而言,失败的数量大大减少,但并没有消失。
var app: XCUIApplication = XCUIApplication()
public func tryLaunch<T>(_ arguments: [T], _ counter: Int = 10) where T: RawRepresentable {
sleep(3)
XCUIApplication().terminate()
sleep(3)
app = XCUIApplication()
app.launchArguments = arguments.map { $0.rawValue as! String }
app.launch()
sleep(3)
if !app.exists && counter > 0 {
tryLaunch(arguments, counter - 1)
}
}
上面的函数包含在https://github.com/evermeer/UITestHelper https://github.com/evermeer/UITestHelper
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)