J'essaie d'enregistrer certaines fonctions XCUITesting. Je reçois cette erreur.
Timestamped Event Matching Error: Failed to find matching element
Est-ce un bug Xcode et/ou des problèmes avec la complexité de mon interface utilisateur?
J'ai eu le même problème pendant longtemps sur une application très complexe: la clé est dans isAccessibilityElement
étant définie sur OUI. Les tests d'interface utilisateur et l'accessibilité vont de pair. Selon moi, l'appareil doit pouvoir interagir avec l'élément, car l'utilisateur ne le pourrait apparemment pas.
Je l'ai fait deux fois:
Dans cellForRowAtIndexPath
- cell.isAccessibilityElement = YES
Dans awakeFromNib
dans une UITableViewCell
sous-classe - self.isAccessibilityElement = YES
En espérant que ça aide et bonne chance!
Essayez de manipuler les éléments avec la propriété isAccessibilityElement. Pour autant que je sache, les conteneurs tels que tableView devraient avoir cette propriété définie sur NO afin que les éléments contenus à l'intérieur soient accessibles.
Les applications d'assistance ne peuvent obtenir des informations que sur les objets qui sont représentés par des éléments d'accessibilité. Par conséquent, si vous implémentez un contrôle personnalisé ou vue qui devrait être accessible aux utilisateurs avec handicaps, définissez cette propriété sur YES. La seule exception à cela la pratique est une vue qui sert simplement de conteneur pour d'autres articles cela devrait être accessible.
Vous devez ajouter une valeur de chemin de clé à vos éléments d'interface utilisateur, comme indiqué ci-dessous. Par exemple, si vous utilisez une tableview
, sélectionnez-la dans le Storyboard puis cliquez sur Identity Inspector
. Maintenant, entrez la valeur isAccessibilityElement
suivante dans la clé et cochez la case comme indiqué dans l'image ci-dessous.
De même, si vous ne pouvez pas utiliser UITableViewCell ou les sous-classes, activez l'option Accessibilité comme indiqué ci-dessous.
ci-après cela devrait fonctionner parfaitement.