ios - 断言失败 : UI Testing Failure - Failure fetching attributes for element

标签 ios ios-simulator xcode7 xcode-ui-testing

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/

相关文章:

XCode 4.3.2 不会附加到调试器

ios - 在 iOS 的专辑封面上显示一些图像

ios - 将一个 UIScrollView 按比例滚动到另一个

ios - 如何自定义我的计时器显示以仅显示分钟和秒?

iphone - 我想在同一 View Controller 中同时使用选项卡栏和导航栏

ios - 是什么影响了 IOS 应用程序中 Assets 的大小,我该如何缩小它?

ios - Tableview 背景显示在模拟器上,但在设备上播放时为白色

ios - 获取 IOS 模拟器中文本字段中的值

android - flutter 运行命令不会在 iOS 模拟器中启动

ios - 移动到 Xcode 7 后为 "Installation Failed: Invalid Argument"