102 votes

Erreur de correspondance d'événement horodaté: échec de la recherche de l'élément correspondant

J'essaie de générer un UItest dans Xcode. Lorsque j'essaie de glisser UIview, j'obtiens une erreur:

 Timestamped Event Matching Error: Failed to find matching element
 

fenêtre d'erreur

entrez la description de l'image ici

Cela se produit également si j'essaie de toucher UIView.

49voto

AmitW Points 604

Vous devez vérifier que l'option 'Accessibilité' est activée pour l'objet UIView que vous balayez, par exemple:

entrez la description de l'image ici

3voto

commanda Points 3450

Dans Xcode 9.3, où cela semble toujours poser problème, j'ai procédé comme suit:

  • Quitter Xcode
  • Réinitialiser les paramètres du simulateur (Matériel -> Effacer tout le contenu et les paramètres)
  • Quitter le simulateur
  • Supprimer les données dérivées pour l'application actuelle
  • Redémarrer Xcode
  • Essayez d’enregistrer à nouveau - cela a fonctionné cette fois pour moi.

2voto

Sophy Swicz Points 676

Pour l'enregistrement d'un nouveau test, je ne pense pas qu'il y a une solution encore. Mais, si vous utilisez une extension de forcer robinet avec un test qui existe déjà, fonctionne.

Exemple d'utilisation:

extension XCUIElement {

    func forceTapElement() {
        if self.hittable {
            self.tap()
        }
        else {
            let coordinate: XCUICoordinate = self.coordinateWithNormalizedOffset(CGVectorMake(0.0, 0.0))
            coordinate.tap()
        }  
    }
}

func testSomethingWithCells() {

   let app = XCUIApplication()
   let cells = app.tables.cells
   sleep(1)
   cells.elementBoundByIndex(0).forceTapElement()
}

Vous pouvez vérifier le message original ici:

Xcode test de l'INTERFACE utilisateur - INTERFACE utilisateur de Test de l'Échec - Échec pour faire défiler visible (par AX action) lorsque appuyez sur le champ de Recherche "bouton Annuler

2voto

Dave L Points 76

J'ai parfois rencontré ce problème. Supprimer le répertoire de l'application de DerivedData semble aider.

1voto

Charlie Seligman Points 717

Une solution qui fonctionnait pour moi consistait à identifier l'objet différemment.
Dans Xcode 8, j'ai pu utiliser les éléments suivants:

 XCUIApplication().tables.cells["Camera Roll"].buttons["Camera Roll"].tap()
 

Avec Xcode 9, j'ai eu l'erreur mentionnée dans cette question. En fin de compte en utilisant ce qui suit, qui a fonctionné (al beit it plus floconneux que l’option originale)

 XCUIApplication().cells.element(boundBy: 1).tap()
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X