ios - Xcode 7.3 破坏了 UI 测试 - 拆解后不再正常工作

标签 ios xcode7 xcode-ui-testing

我已经升级到 xcode 7.3,现在我的 UI 测试失败了。由于某种原因,在拆卸过程中,应用程序不再能够向右滑动,但它可以在拆卸之前执行此操作。

XCUIApplication().swipeRight()

我恢复到 xcode 7.2.1 并且它可以在那里工作。还有其他人在 xcode 7.3 中遇到类似的问题吗?知道如何修复它吗?或者如何确定应用程序引用是否过时?

最佳答案

我发现 Xcode 7.3 在我的 UI 测试中没有任何交互有效。 但正如建议的那样,延迟解决了我的问题。

我将此函数添加到我的 UITest 文件中:

private func wait(seconds: NSTimeInterval) {
    let dateAfterWait = NSDate(timeIntervalSinceNow: seconds)
    NSRunLoop.mainRunLoop().runUntilDate(dateAfterWait)
}

并在每次点击或滑动之前调用它。 0.5 秒的延迟对我来说很有效,但我想这取决于界面的复杂性。

我还有一个等待元素出现的便利函数:

private func waitForElementDisplay(element: XCUIElement) {
    let exists = NSPredicate(format: "exists == 1")
    expectationForPredicate(exists, evaluatedWithObject: element, handler: nil)
    waitForExpectationsWithTimeout(5, handler: nil)
}

但这还不足以允许点击 - 即使此函数返回后,我也需要调用 wait(0.5)

关于ios - Xcode 7.3 破坏了 UI 测试 - 拆解后不再正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36293659/

相关文章:

ios - UI 测试失败 - 获取元素快照失败错误 -25201

ios - 使用多个谓词进行 Xcode UI 测试

ios - 随机 (lldb) 在 Mac OS X 10.8.4 上的 iOS 模拟器中崩溃

objective-c - UINavigationController 的问题

iPhone 应用程序发送 Facebook 消息或张贴到 friend 的墙上

ios - 我可以将适用于 iOS 的 GoogleMaps SDK 链接到除 -ObjC 之外的链接器标志吗

travis-ci - 在 .travis.yml 中定位多个 iOS 版本

ios - 如何清除 xcassets 未分配子项的警告?

Xcode 没有设备注册错误

ios - Xcode-Ui-测试 : Can i specify a particular test that i want to run from terminal