XCUI测试由于异步等待失败而失败:超过30秒的超时,未实现预期

时间:2018-07-04 03:52:35

标签: xcode8 xcode-ui-testing fastlane xcuitest

 let webViewsQuery = app.webViews
    let emailOrPhoneTextField = webViewsQuery/*@START_MENU_TOKEN@*/.textFields["Email or phone"]/*[[".otherElements[\"Sign in – Google accounts\"].textFields[\"Email or phone\"]",".textFields[\"Email or phone\"]"],[[[-1,1],[-1,0]]],[0]]@END_MENU_TOKEN@*/
    let exists = NSPredicate(format: "exists == TextField")
    expectation(for: exists, evaluatedWith: emailOrPhoneTextField, handler: nil)
    waitForExpectations(timeout: 30, handler: nil)
    emailOrPhoneTextField.tap()
  

异步等待失败:超过30秒的超时,并没有实现期望:在通过快速通道扫描运行时,“为对象“电子邮件或电话” TextField预测谓词exists == 1

2 个答案:

答案 0 :(得分:1)

那是因为您从未达到期望(使用expectation.fulfill()方法)。如果您不关心期望的实现,请使用XCTWaiter

答案 1 :(得分:1)

不仅仅是您需要使期望评估为真吗?

let exists = NSPredicate(format: "exists == true")

let exists = NSPredicate(format: "exists == 1")
相关问题