I'm trying to record some XCUITesting functions. I get this error.
Timestamped Event Matching Error: Failed to find matching element
Is this an Xcode bug and/or issues with the complexity of my UI?
I'm trying to record some XCUITesting functions. I get this error.
Timestamped Event Matching Error: Failed to find matching element
Is this an Xcode bug and/or issues with the complexity of my UI?
Try manipulating with items isAccessibilityElement property. As far as I know containers like tableView should have this property set to NO in order to items contained inside them be accessible
Quote from https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIAccessibility_Protocol/#//apple_ref/occ/instp/NSObject/isAccessibilityElement :
I was having the same problem for a long time on a very complex app as well: The key is all in
isAccessibilityElement
being set to YES. UI testing and accessibility go hand-in-hand. The way I think about it is that the device needs to be able to interact with the element, since ostensibly, the user wouldn't be able to.I did this twice:
In
cellForRowAtIndexPath
-cell.isAccessibilityElement = YES
In
awakeFromNib
in aUITableViewCell
subclass -self.isAccessibilityElement = YES
Hope that helps, and good luck!
You need to add key path value to your UI elements as below. For an example, if you are using a
tableview
then select it in the Storyboard and then click onIdentity Inspector
. Now enter the following valueisAccessibilityElement
in the key and tick the checkbox as shown in the image below.Also if you can't tap on the UITableViewCell or the subclasses, then enable the Accessibility option as shown below.
hereafter it should work just fine.