【问题标题】:xcode: Timestamped Event Matching Error: Failed to find matching elementxcode:时间戳事件匹配错误:找不到匹配元素
【发布时间】:2016-08-04 12:25:04
【问题描述】:

我正在尝试记录一些 XCUITesting 函数。我收到此错误。

Timestamped Event Matching Error: Failed to find matching element

这是一个 Xcode 错误和/或我的 UI 复杂性的问题吗?

【问题讨论】:

  • 我也有同样的问题
  • 同样的问题。
  • 遇到了同样的问题。
  • 这里有同样的问题。我正在单击一个 tableview 单元格,它说它找不到......很奇怪。
  • 将我的 tableViewCells 的 isAccessibilityElement 值设置为 YES 解决了这个问题。

标签: xcode xcode7 xcode-ui-testing xcode7.3


【解决方案1】:

尝试使用项目的 isAccessibilityElement 属性进行操作。据我所知,像 tableView 这样的容器应该将此属性设置为 NO,以便可以访问其中包含的项目

引用https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIAccessibility_Protocol/#//apple_ref/occ/instp/NSObject/isAccessibilityElement

辅助应用程序只能获取有关对象的信息 由可访问性元素表示。因此,如果您实施 用户应该可以访问的自定义控件或视图 残疾,将此属性设置为 YES。唯一的例外 实践是一种仅作为其他项目容器的视图 应该是可以访问的。

【讨论】:

    【解决方案2】:

    我在一个非常复杂的应用程序上也遇到了同样的问题很长一段时间:关键在于 isAccessibilityElement 设置为 YES。 UI 测试和可访问性齐头并进。我的想法是设备需要能够与元素交互,因为从表面上看,用户无法做到。

    我这样做了两次:

    1. cellForRowAtIndexPath - cell.isAccessibilityElement = YES

    2. awakeFromNibUITableViewCell 子类中 - self.isAccessibilityElement = YES

    希望对您有所帮助,祝您好运!

    【讨论】:

    • 这是一个很好的答案!我正在以编程方式从容器中添加和删除视图。在我的 xib 文件中,可访问性已启用!但似乎当你在做大量程序化操作时,每次添加子视图时,只需执行 .isAccessibilityElement = true 和 BOOM!这一切都有效。谢谢!
    • 好的,我想我说得太早了。使 self.window 可访问确实允许访问根视图上的元素......但仅在窗口层次结构方面。之后的所有点击都在录制时显示为 window.tap() 。在添加根视图后,我尝试使所有子视图(遍历 root.view.subviews 并使它们都可访问,但无济于事。以编程方式添加的根视图对 UI 测试是不可见的。
    • 嘿迈克!我已经有一段时间没有使用 XCUITesting 了——首先想到的问题是为什么你必须明确地点击窗口,而不是元素本身?
    • 嗨@ArialSD 是的,我只是点击查看录音机中显示的内容。我终于弄明白了。对于某些包含视图控制器,关键是关闭 isAccessible。它们仍然具有可访问性 ID 并且可以被识别,但基本上,isAccessibilityElement 似乎就像一个点击识别器......它掩盖了下面的任何东西(或者在这种情况下,嵌套视图)。
    • @MikeCritchley 啊,很好,很好的发现,很高兴你发现了!
    【解决方案3】:

    您需要为您的 UI 元素添加关键路径值,如下所示。例如,如果您使用的是tableview,则在情节提要中选择它,然后单击Identity Inspector。现在在键中输入以下值isAccessibilityElement 并勾选复选框,如下图所示。

    此外,如果您无法点击 UITableViewCell 或子类,请启用 Accessibility 选项,如下所示。

    此后它应该可以正常工作。

    【讨论】:

      猜你喜欢
      • 2016-08-05
      • 2016-07-28
      • 1970-01-01
      • 2017-03-21
      • 1970-01-01
      • 2016-03-31
      • 2018-11-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多