XCUIApplication()。launch()永不完成
我正在尝试第一次为基于沙盒,基于NSDocument的OSX应用程序目标运行UI测试,并且我遇到了Xcode 7.2.1和7.3 beta 3两个版本的问题, XCUIApplication().launch()
调用在设置阶段卡住,并最终超时与下面的错误消息,虽然应用程序实际上处于可运行状态,并正常工作记录测试步骤等XCUIApplication()。launch()永不完成
我看到的错误消息如下所示: UI Testing Failure - App state is still not running, state = XCApplicationStateNotRunning
我没有定制任何方式测试的设置阶段。相关上市调用如下:
let app = XCUIApplication() app.launch()
任何想法?是否有方法强制通知XCUIApplication实例的新状态,或者发送通知,或者它正在代理应用程序中侦听的任何通知?
我可以看到(和还我自己的评论来)上看起来是一样的问题,这个开发者论坛发帖:https://forums.developer.apple.com/thread/30390
注:我报告说,这个是雷达中的错误,并发送回一个反应暗示了Xcode 7.3 beta版的晚期版本可以解决这个问题。事实上,这个Xcode错误已经修复,并且在使用Xcode 7.3运行我的UI测试时不会再出现问题,至少对于我用我的应用程序命中的场景来说!
我也遇到过这个问题,特别是在使用机器人运行UI测试时。由于之前的测试没有正确关闭,所以其他测试都会因此错误而失败。
为了避免这种情况,在您的测试设置阶段,添加以下行:
XCUIApplication().terminate()
因此,您的设置功能将类似于以下内容:
override func setUp() {
XCUIApplication().terminate()
super.setUp()
continueAfterFailure = false
XCUIApplication().launch()
}
这是一个因为终止命令也在override func tearDown
函数中,但应确保正确的测试环境。
我很高兴地告诉大家,至少在影响到我的情况下,Xcode 7.3 final现在可以解决这个问题,而没有采取这种解决方法(我之前证实的问题也是在问题出现时才起作用)! – mz2
我会很好奇为什么这个问题被标记为-1而没有解释? – mz2
这是一个真正的问题,我也不明白倒票。 – ishaq
我有同样的问题,但这是因为我的应用程序是一个菜单栏应用程序,所以我必须启用“应用程序是代理(UIElement)”。我想这不是你的情况,是吗? – Gaston