问题描述
在我的 UI 测试中,我需要等待复制/粘贴通知消失。在大多数测试案例中,通知看起来:
我试着这样等待:
func waitForPasteboardInfodissappear(file: StaticString = #file,line: UInt = #line) {
let elements = [
"Pola pasted from PolaUITests-Runner","CoreSimulatorBridge pasted from Pola",].map { app.staticTexts[$0] }
if !elements.waitFordisappear(timeout: 10) {
XCTFail("Pasteboard info still visible",file: file,line: line)
}
}
extension XCUIElement {
func waitFordisappear(timeout: TimeInterval) -> Bool {
let result = XCTWaiter().wait(for: [waitFordisappearExpectation()],timeout: timeout)
return result == .completed
}
func waitFordisappearExpectation() -> XCTestExpectation {
let predicate = nspredicate(format: "exists == false")
return XCTnspredicateExpectation(predicate: predicate,object: self)
}
}
extension Array where Element == XCUIElement {
func waitFordisappear(timeout: TimeInterval) -> Bool {
let expectations = map { $0.waitFordisappearExpectation() }
let result = XCTWaiter().wait(for: expectations,timeout: timeout)
return result == .completed
}
}
大多数情况下都能用,但我使用快照测试来验证测试,有时提示仍然可见(没有文字)
有什么办法可以检查这个提示是否仍然在屏幕上可见?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)