Outil de test: automatisation IHM avec Protractor

Cet article fait partie d’une série dans la taverne qui tend à présenter succinctement différents outils de test.

Protractor en Bref

Protractor est une surouche de Selenium qui utilise Javascript et qui est spécialisé dans les tests IHM (Interface graphique) End to End.

Il est couramment utilisé pour faire des tests sur des développements faits en AngularJS ou ReactJS.

Protractor est un outil plus technique qu’un outil KDT comme peut l’être RobotFramework mais il reste tout à fait accessible à des testeurs, notamment si ces derniers sont dans des équipes Agile et peuvent monter en compétence grâce aux développeurs.

Une particularité de Protractor qui est souvent la raison pour laquelle il est choisi, est sa faculté à proposer des tests de reconnaissance d’image à l’aide du plugin « checkAppByImage ». Ce plugin est très complet et permet de:

  • Comparer une image en entier
  • Accepter plus ou moins de différence entre les images (% de pixels différents, la différence de chaque pixel se faisant par rapport à leur couleur)
  • Ne pas comparer certaines zones des images (exemple: ne pas comparer des zones de publicité)

Protractor peut également être associé à un outil comme Cucumber dans une démarche BDD.

Enfin, Protractor fonctionne sur de nombreux navigateurs, même si, différentes images peuvent être nécessaires selon le navigateur.

Points forts et points faibles de Protractor

Les points forts remontés de Protractor sont:

  • Sa gestion de comparaison d’image
  • Sa relative accessibilité
  • Sa capacité à gérer plusieurs navigateurs

Les points faibles remontés de Protractor sont:

  • La possible multiplication des images (espace de stockage + classement)
  • Des performances plus faible que Cypress
  • Un débogage (si pas d’image) qui peut être complexe
  • Beaucoup de « Promesses » laissant sous-entendre un processus asynchrone alors que ce n’est pas le cas. (les promesses sont un élément du JavaScript permettant de l’asynchrone, ça « promet » que l’information arrivera mais ne dis pas quand)
  • Automatisation Web uniquement

Conclusion

Protractor est un outil mature qui fonctionne sur de nombreux navigateurs et propose de nombreuses fonctionnalités et qui est reconnu pour sa comparaison d’images.

Il faut néanmoins faire attention à la gestion, le classement et la réutilisation des images lorsque ses tests reposent essentiellement sur ces dernières.

Vous avez utilisé cet outil ? N’hésitez pas à faire part de votre expérience dans les commentaires!

Merci à Benjamin Butel pour sa relecture.

N’hésitez pas à me suivre et lire mes autres articles si vous voulez en apprendre plus sur le test ou venir partager vos connaissances

Pensez à rejoindre le groupe « Le métier du test » si vous souhaitez échanger sur le test

Merci à tous ceux qui mettent « j’aime », partagent ou commentent mes articles

N’hésitez pas à faire vos propres retours d’expérience en commentaire.

Publié par

4 réponses sur « Outil de test: automatisation IHM avec Protractor »

  1. Les plus et moins selon moi :

    Les plus :
    – Un outil puissant et adapté à Angular
    – Idéal pour faire du E2E
    – De nombreux pluggins (reporting, capture d’écran, etc.)
    – Fonctionne sur les sites en mode synchrone et asynchrone
    – Multi navigateurs / instances
    – Supporte Chrome Headless
    – Etc…

    Les moins :
    – Une montée en compétence « rugueuse »
    – Des mises à jour de la partie Webdriver qui peuvent parfois entraîner leur lot de dysfonctionnements (fort heureusement assez vite corrigés)
    – Une limitation au Web (Ex : on oublie la fonction « Enregistrer sous » d’un document)
    – Débogage pas toujours aisé même si le pas à pas reste possible

    Bref, un outil puissant mais qui nécessite un investissement initial conséquent.

    Aimé par 1 personne

  2. Salut,
    Merci pour l’article, je n’ai pas compris :fonctionne en mode synchrone et as synchrone ?
    Est ce que Protractor est open Source comme selenuim ?
    La prise en main nécessite des compétences particulières en développement ?
    Merci d’avance

    J'aime

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s