2017-08-02 2 views
1

J'ai un ensemble de tests d'interface utilisateur qui testent l'état d'une case à cocher. Il n'y a pas d'élément checkbox intégré dans swift, donc j'utilise deux images (cochées et non cochées). Quand je cours les tests avec le simulateur ouvert, tout fonctionne bien. Lorsque j'exécute les tests dans la ligne de commande (nécessaire pour l'intégration continue), tous les tests échouent dans les parties où les images (assets) sont incluses. Par conséquent, les actifs ne sont pas visibles à des tests de l'interface utilisateur (même si je leur ai donné la visibilité dans les paramètres de l'image)Swift: Les actifs ne sont pas visibles par les tests de l'interface utilisateur lorsqu'ils sont exécutés à partir de la ligne de commande

Voici comment je teste les images:

tablesQuery.cells.containing(.staticText, identifier: item).images["checked"].tap() 

Dois-je appeler les images d'une manière différente ? Y at-il une autre option pour rendre les images visibles en plus de cocher l'option pour rendre les images visibles aux tests de l'interface utilisateur?

Répondre

2

Les tests d'interface utilisateur ouvrent l'application elle-même et testent la présence d'éléments sur celle-ci. Par conséquent, les chemins de fichiers ne sont pas visibles pour eux (tout comme les objets). Une bonne astuce consiste à définir un identifiant d'accessibilité de l'image chaque fois que l'image change d'état. Définissez l'identifiant avec le même nom que l'image présente et cela devrait fonctionner.