2017-10-11 5 views
0

Je suis nouveau à ui-testing. Pendant l'enregistrement, quand je tape sur vue ui-collection premier objet est affiché sur l'interface utilisateur et correspondant au code écrit dans la méthode de test exemple:UItesting: Cliquez sur UIcollectionview puis testez-le get failed

XCUIElement *window = [[app childrenMatchingType:XCUIElementTypeWindow] elementBoundByIndex:0]; 
    XCUIElement *element2 = [[[[window childrenMatchingType:XCUIElementTypeOther].element childrenMatchingType:XCUIElementTypeOther].element childrenMatchingType:XCUIElementTypeOther].element childrenMatchingType:XCUIElementTypeOther].element; 
    [element2 tap]; 

Et lors de l'automatisation de la méthode exemple de test, il est impossible d'extraire le premier objet de la vue ui-collection. S'il vous plaît suggérer un moyen de le faire. Merci d'avance.

+0

je viens de trouver un moyen de le faire simplement décocher accessibili ty activer dans l'inspecteur d'attributs et re exécuter l'enregistrement. –

Répondre

0

Enregistrement UITests a tendance à vous donner des requêtes vraiment longues et laides. Je suggère fortement que vous regardiez comment écrire UITest manuellement. C'est vraiment facile et les requêtes semblent beaucoup mieux.

Par exemple: pour taper sur la première cellule de votre point de vue de collection tout ce que vous devez faire est de ce (à condition qu'il n'y a qu'un seul UICollectionView sur l'écran en cours):

Objective-C

- (void)testExample { 
    XCUIApplication *app = [[XCUIApplication alloc] init]; 
    [app launch]; 

    [[app.collectionViews.cells elementBoundByIndex:0] tap]; 
} 

Swift

func testExample() { 
    let app = XCUIApplication() 
    app.launch() 

    // tap on the first collection view cell on the current screen 
    app.collectionViews.cells.element(boundBy:0).tap() 
} 
+0

pouvez-vous m'en dire plus sur la façon de focaliser votre clavier? Parce que quand je suis en train de tester sur un champ de texte, il y a une erreur indiquant que Ni l'élément ni aucun descendant n'a le focus du clavier. Merci pour votre temps. –

+0

Avant de pouvoir taper du texte dans un UITextField, vous devez appuyer sur(). – joern

+0

Je tape sur ça mais je suppose qu'en jouant le code enregistré il ne sait pas où tapoter donc il tape sur autre endroit plutôt que sur cette position spécifique donc il donne ces erreurs: - Aucun élément ou aucun descendant n'a le focus du clavier. Élément: –