45

我正在尝试记录一些 XCUITesting 函数。我得到这个错误。

Timestamped Event Matching Error: Failed to find matching element

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

4

3 回答 3

7

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

我这样做了两次:

  1. cellForRowAtIndexPath-cell.isAccessibilityElement = YES

  2. awakeFromNib一个UITableViewCell子类中 -self.isAccessibilityElement = YES

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

于 2016-12-02T18:48:52.110 回答
1

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

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

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

于 2016-08-30T11:26:29.113 回答
1

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

在此处输入图像描述

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

在此处输入图像描述

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

于 2018-08-13T05:34:03.297 回答