我收到一个错误,我正在努力寻找错误的任何其他相关实例。我正在尝试使用expectationForPredicate
创建我的测试以使其异步,但是在使用此方法时,它会在第13行抛出错误caught "NSInternalconsistencyException","API violation - element is a required parameter"
。
知道为什么会发生这种错误,我该怎么办呢?
let app = XCUIApplication()
let alert = XCUIElement()
let existsPredicate = NSPredicate(format: "exists == true")
let systemAlert = alert.buttons["OK"]
testCase.addUIInterruptionMonitorWithDescription("Enable Notifications") { (alert) -> Bool in
alert.buttons["OK"].tap()
return true
}
self.buttons["Enable notifications"].tap()
testCase.expectationForPredicate(existsPredicate, evaluatedWithObject: systemAlert, handler: nil)
testCase.waitForExpectationsWithTimeout(5, handler: nil)
app.tap()
self.tabBars.buttons["Nearby"].tap()
答案 0 :(得分:0)
您的提醒不是应用中的有效元素,因为您已直接初始化它,而不是从XCUIApplication实例派生它。因此,您传递到systemAlert
的{{1}}也不是有效的XCUIElement。
更改要从expectationForPredicate
派生的alert
的分配,这应该可以解决您的问题。
app