Vérifiez la position de XCUIElement à l'écran pendant le test de l'application iOS à l'aide de XCTest

Je suis en train de tester une application iOS et actuellement je vérifie l'existence d'un XCUIElement particulier en utilisant isHittable .

Je voulais savoir si nous pouvions aussi vérifier la position du XCUIElement sur la vue. Par exemple, si nous avons un button dans le coin inférieur droit de la vue, pouvons-nous vérifier si elle est réellement dans le coin en bas à droite en utilisant le framework XCTest?

J'ai jeté un coup d'oeil à la documentation d'Apple pour le framework XCTest mais je n'ai pas eu la moindre idée. Toute aide est la bienvenue.

XCUIElement a une frame propriété que vous pouvez utiliser pour find les coordonnées de l'élément en question.

 let button = XCUIApplication().buttons["someButton"] let frame = button.frame let xPosition = frame.origin.x let yPosition = frame.origin.y 

Il existe d'autres moyens de récupérer différents points par rapport au cadre, qui est un CGRect , comme midX et midY , selon la manière dont vous voulez affirmer la position de l'élément.

Vous devez être conscient que XCTest est un framework de test d'interface user fonctionnel , et si vous l'utilisez pour affirmer la position d'un élément, la position sera probablement différente par périphérique / simulateur, ce qui peut rendre vos tests fragiles.

Obtenez les limites de l'élément en utilisant:

 let bounds = viewToTest.convert(viewToTest.bounds, to: nil) 

Ensuite, vérifiez si les limites sont correctes ou non. Notez que les limites sont relatives au coin supérieur gauche de l'écran lorsqu'elles sont affichées en mode portrait.