Si vous vous intéressez au sujet de l'automatisation, voici les conseils que vous aurez sans doute trouvés.
C'est sur ce dernier point que je m'attarderai aujourd'hui.
La base d'éléments UI (object repository ou page object en fonction de votre automate) constitue le socle du projet d'automatisation.
En choisissant correctement la méthode et les critères d'identification de chaque élément UI, on garantie la maintenabilité et la robustesse d'un automate. Or ce choix est fortement soumis à la manière dont ont été conçus les écrans.
Quelque soit la technologie, il existe des bonnes pratiques de développement permettant d'assurer la testabilité d'une application.
Nos projets d'automatisation les plus réussis sont ceux qui ont positionné la testabilté comme une exigence forte dès le démarrage des développements.
Généralement, les points qui nous bloquent en tant qu'automaticiens sont les suivants :
Initialement, nous demandions aux développeurs d'ajouter des attributs ID à l'ensemble des éléments UI avec lesquels nous allions interagir.
Ceci n'était pas toujours possible et n'apportait pas forcément de valeur en dehors de la testabilité.
Aujourd'hui, nous préconisons l'application de bonnes pratiques telles que BEM (Block Element Modifier).
Cette méthode propose une convention de nommage des attributs CLASS, permettant :
Nous préconisons en complément l'ajout d'attributs data-*, pour différencier les composants génériques apparaissant plusieurs fois sur une même page (comme les blocs produits sur la page de résultat d'un site e-commerce).
exemple de brief avec une de nos équipe de développement
Et pour les applications natives iOS ? Pour Android ? La suite au prochain épisode. ;-)