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.

4 réponses

  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.

  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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Image présentant les thématiques du RGESN
Qualité durable

Présentation du RGESN 2024: UX/UI (4/9)

Le RGESN, Référentiel Général d’Ecoconception des Services Numériques, est un référentiel qui a pour but de s’assurer une conception des services numériques. Il est, à l’heure actuelle, divisé en 9 thématiques : Dans cet article je vais me concentrer sur la thématique UX/UI. Les autres thématiques ont fait ou feront l’objet

Lire la suite »
Retour d'expérience

Bien commencer dans le test: Mes conseils

Il y a une question qui m’est fréquemment posée en message privé et qui, selon moi, mérite cet article. La question est : «Je souhaiterais faire du test, que me conseillez-vous pour commencer ». Cette question m’est posée par différents profils allant de l’étudiant à l’ingénieur chevronné voulant changer de filière en

Lire la suite »
Image présentant les thématiques du RGESN
Qualité durable

Présentation du RGESN 2024: backend (7/9)

Le RGESN, Référentiel Général d’Ecoconception des Services Numériques, est un référentiel qui a pour but de s’assurer une conception des services numériques. Il est, à l’heure actuelle, divisé en 9 thématiques : Dans cet article je vais me concentrer sur la thématique du backend. Les autres thématiques ont fait ou

Lire la suite »