【发布时间】:2017-02-27 11:13:03
【问题描述】:
在我的 iOS 中,我正在使用 XCUITest 实现 UITests。自从我拥有 Swift 2.3 以来,它工作得很好,但是在将应用程序更新到 Swift 3 之后,tap() 这样的基本操作就不再工作了。
只是一个不再起作用的简单代码:
XCUIApplication().buttons["orgMenu"].tap()
抛出
Assertion Failure: <unknown>:0: UI Testing Failure - Failure getting snapshot Error Domain=XCTestManagerErrorDomain Code=9 "Error -25204 getting snapshot for element <AXUIElement 0x7f8297d15a50> {pid=32375}" UserInfo={NSLocalizedDescription=Error -25204 getting snapshot for element <AXUIElement 0x7f8297d15a50> {pid=32375}}
按钮的名称是正确的:如果我记录测试并点击按钮,上面的行正是我得到的。
按钮在视图中,因为我正在等待它的存在(手动尝试,通过断点尝试,并以编程方式使用:
let exists = NSPredicate(format: "exists == 1")
expectation(for: exists, evaluatedWith: XCUIApplication().buttons["orgMenu"], handler: nil
waitForExpectations(timeout: time, handler: nil)
)
无论如何,它在 Swift 3 之前就可以使用。 任何的想法?提前致谢!
【问题讨论】:
-
您可以在模拟器中手动点击按钮,使用相同的构建版本而不会使应用崩溃吗?
-
@Oletha,是的,我可以
标签: ios swift3 xcode-ui-testing