我有一套26个测试。有时一些测试,任何测试都会失败,并出现以下错误:
Test Case ...
t = 0.00s Start Test at 2017-06-21 13:41:15.265
t = 0.00s Set Up
t = 0.11s Launch com.company.MyApp
t = 4.06s Wait for app to idle
t = 10.27s Unable to monitor animations
t = 16.45s Unable to monitor event loop
t = 17.67s Snapshot accessibility hierarchy for com.company.MyApp
t = 23.84s Assertion Failure: <unknown>:0: Failure getting snapshot Error Domain=XCTDaemonErrorDomain Code=12 "Failed to get main window after 30 retries: kAXErrorServerNotFound (see <rdar://problem/15530121>)" UserInfo={NSLocalizedDescription=Failed to get main window after 30 retries: kAXErrorServerNotFound (see <rdar://problem/15530121>)}
t = 23.85s Tear Down
使用Xcode 8时,测试在报告中没有显示为失败,但是在使用Xcode 9时测试也没有。使用Xcode 9时,问题类似但日志不同。
t = 0.00s Start Test at 2017-06-22 14:17:00.716
t = 0.08s Set Up
t = 0.18s Open com.company.MyApp
t = 0.26s Launch com.company.MyApp
t = 3.39s Wait for com.company.MyApp to idle
t = 9.58s Unable to monitor animations
t = 15.76s Unable to monitor event loop
t = 16.90s Snapshot accessibility hierarchy for app with pid 18003
t = 23.17s Tap "More" Button
t = 23.17s Wait for com.company.MyApp to idle
t = 29.41s Unable to monitor animations
t = 35.59s Unable to monitor event loop
t = 35.61s Find the "More" Button
t = 35.61s Snapshot accessibility hierarchy for app with pid 18003
t = 41.92s Wait for com.company.MyApp to idle
t = 48.16s Unable to monitor animations
t = 54.34s Unable to monitor event loop
t = 55.36s Find the "More" Button (retry 1)
t = 55.37s Snapshot accessibility hierarchy for app with pid 18003
t = 61.69s Wait for com.company.MyApp to idle
t = 67.92s Unable to monitor animations
t = 74.10s Unable to monitor event loop
t = 75.12s Find the "More" Button (retry 2)
t = 75.12s Snapshot accessibility hierarchy for app with pid 18003
t = 81.44s Wait for com.company.MyApp to idle
t = 87.66s Unable to monitor animations
t = 93.86s Unable to monitor event loop
t = 94.00s Assertion Failure: report.feature:11: Failed to get main window after 30 retries: kAXErrorServerNotFound (see <rdar://problem/15530121>)
t = 94.21s Find the Window
t = 94.21s Snapshot accessibility hierarchy for app with pid 18003
t = 101.35s Find the Window (retry 1)
t = 101.35s Snapshot accessibility hierarchy for app with pid 18003
t = 108.53s Find the Window (retry 2)
t = 108.53s Snapshot accessibility hierarchy for app with pid 18003
t = 114.79s Assertion Failure: report.feature:10: Failed to get main window after 30 retries: kAXErrorServerNotFound (see <rdar://problem/15530121>)
t = 114.79s Tear Down
报告中的屏幕截图显示该应用程序已启动并且似乎处于闲置状态。
更新
我在sample project中重现了这个问题,这是一个带标签栏视图控制器的简单应用程序。
更新
Xcode 9 Beta 6的发行说明中似乎存在一个已知问题
xcodebuild测试可能会因'Domain = XCTestManagerErrorDomain Code = 12而间歇性失败 “30次重试后无法获得主窗口”'。 (29122169)
解决方法:再次尝试测试。
我们希望在Xcode 9的最终发布之前解决这个问题
答案 0 :(得分:0)
我一直在努力与此的确切的关于同一问题的的Xcode 8.3.2 - 伤心地听到,Xcode的9测试版不是招&#39;吨固定的又:( < / p>
到目前为止唯一可靠的解决方法是重置 iOS模拟器设备。例如:
osascript -e 'tell application "Simulator" to quit'
xcrun simctl erase all
如果您知道自己的设备ID,则可以重置:
xcrun simctl erase DEVICE_ID
(不用说,您可以将这些命令包装在一个简单的 shell脚本中,并在弹出此问题时从终端运行它。)