在 Xcode(7.2 和 7.3) 中进行 UI 测试时,我的测试有时会失败并出现相当一般性的错误:
Assertion Failure: UI Testing Failure - Failure fetching attributes for element
在元素上调用 .hittable
或 .tap()
时,我往往会遇到此错误,但我不知道为什么。我已经检查过我正在处理的所有元素都正确设置了它们的可访问性设置,并且它们所在的任何容器 View 都没有启用可访问性。唉,这似乎并不能解决问题。
控制台日志显示:
UI Testing Failure - Failure fetching attributes for element <XCAccessibilityElement: 0x7e68ae50> pid: 89032, context: 4D9272C7-3024-4062-B0FA-E16EF426F17A, payload: {
pid = 89032;
"uid.elementID" = 1432;
"uid.elementOrHash" = 2125772976;
}: Error Domain=XCTestManagerErrorDomain Code=13 "Error copying attributes -25202" UserInfo={NSLocalizedDescription=Error copying attributes -25202}
我尝试四处搜索并设法发现它已经被记录下来,但似乎没有当前的解决方案 ( radar link ) 即使对于 Xcode 7.3。
似乎有时如果我重新启动模拟器/设备,这个错误就不会发生,但这不是一个好的解决方案。
最佳答案
您可以暂时使用 XCUICoordinate.tap()
作为替代。例如,将 button.tap()
替换为 button.coordinateWithNormalizedOffset(CGVector(dx: 0.5, dy: 0.5)).tap()
。
我遇到了同样的问题,解决方法对我有用。
关于ios - 断言失败 : UI Testing Failure - Failure fetching attributes for element,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36798116/