XCTests未能在模拟器启动应用间歇
有没有人有经验和固定的:XCTests未能在模拟器启动应用间歇
XCtests没有间断在模拟器UI测试(XCUI)推出的应用程序。 我正在运行fastlane,不同的测试似乎无法通过每次测试。
OSX:10.12.3 的iOS模拟器:10.0 的XCode 8.2.1 FASTLANE 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 =忙, 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/lionheart/openradar-mirror/issues/16226和https://openradar.appspot.com/29735288 –
的最佳解决方案,即使它没有充分证明@Edwin。似乎已经减少'错误域= FBSOpenApplicationServiceErrorDomain代码= 1的量“的请求,要求打开” com.apple.test。SomeTest-Runner“'我得到了,谢谢 – JJacquet
玩弄我们观察到,如果我们运行有限的测试情况下,这种错误大大下降后。您可以在https://blog.talentica.com/2017/04/04/use-xcode-8-with-jenkins/
找到更多的细节是否你的UI测试工作,当你在Xcode中运行它,而不是直接从FASTLANE运行呢? – HardikDG
@HardikDG在我的情况下使用的XCode总是成功在本地机器上测试,但使用的XCode服务器上的Mac Mini的运行时,每个测试有大约3%的机会,它就会失败。由于我们有超过200个UI测试,所以在服务器上的构建几乎总是失败。 (我们在2周1个成功的版本) –
机器升级到SSD并允许5个故障去除大部分错误,有时仍然会我们看到他们,但不是经常...(只允许5次尝试没有帮助,但升级+重试的组合)。 –