UITests, aller plus loin

Bonjour tout le monde! :slight_smile:

Dans la série de tests que j’essaye d’ajouter à mon application, je m’attaque aux tests graphiques, et j’ai plusieurs questions:

  • Lors d’un test graphique, est-il possible de faire des “références” aux objets que l’on a créé dans notre code ?
    Je m’explique: par exemple, je souhaite tester l’ajout d’un membre, je lance le simulateur, je tap sur le bouton ajouter, je tap sur valider sans mettre de nom, je tap sur le message d’erreur indiquant qu’un membre doit avoir un nom, j’ajoute un nom, je tap sur valider (jusque là, sans soucis), et ensuite, une fois que j’ai tapé sur le bouton valider, j’aimerai par exemple, vérifier que ma tableView (contenant les différents membres) contient bien ce nouveau membre, comment dois-je m’y prendre ? Est-ce faisable, ou dois-je plutôt faire la simulation avec mes tests unitaires (ajout d’une personne, vérification que les conditions d’ajout sont bien remplies et ensuite vérification que le membre a bien été ajouté en DB) ?

  • Ensuite, lorsque je lance mes tests, j’aimerai pouvoir partir, à chaque test, avec une base de donnée (REALM) vide (sinon, par exemple, si je test l’ajout d’un membre, si la DB ne se vide pas, alors au deuxième lancement de test, le membre existera déjà).
    Est-til possible de vider la DB de REALM avant chaque début de test ? (si oui, je suppose que c’est avec la méthode setUp() ?)

  • Enfin, j’essaye d’ajouter des “Identifier” pour mes labels, button, etc, mais … il n’est pas possible d’ajouter d’identifier pour, par exemple, les Bar Button Item ? Ou même les tableView ? Existe-il une solution ?

Si vous avez des conseils (comment bâtir mes tests, comment m’y prendre, etc), je les prends avec plaisir! :slight_smile:

Merci,

Alexandre

Bonsoir tout le monde,

J’ai trouvé une solution pour la références aux objets, et également pour vider la base de données REALM à chaque lancement des test!

Cependant, si je dois tester une méthode de modification d’une donnée, pour modifier, il faut obligatoirement au moins une donnée (celle à modifier), mais étant donné que je ne souhaite tester que la modification (pas l’ajout, qui se fait dans un autre test), est-il possible de lancer ce test avec des données en base de donnée ? Ou dois-je faire comme je fais maintenant, c’est à dire, lancer le test et avant de tester la modification, je dois d’abord, attendre que les objets soient ajoutés en DB, avant de commencer les vrais tests qui m’intéresse ?

Merci d’avance,

Alexandre.