Outil de test: automatisation IHM avec Cypress

Cet article est le premier d’une nouvelle série dans la taverne qui tend à présenter succinctement différents outils de test.

Cypress en bref

Cypress est un outil d’automatisation de test IHM (Interface graphique) open source concurrent à Selenium qui dispose d’une communauté active et réactive.

Cypress propose d’automatiser ses tests IHM en End2End mais aussi en ne testant que l’IHM sans passer par les serveurs en passant par des « stubs » (bouchons). Cet outil est généralement considéré comme un outil de développeur. En effet, Cypress requiert des connaissances en JavaScript et s’adresse plutôt aux personnes ayant des affinités techniques.

Une autre particularité de Cypress est sa capacité à contrôler le trafic qui passe sur son IHM notamment avec des bouchons. Néanmoins, certaines APIs, comme les API fetch, ne sont pas encore supportées.

Les tests sont assez rapides à écrire (par des développeurs) et propose des simplifications comme une gestion automatique des « Wait until ».

Le lancement des tests peut se faire de 2 manières: soit par ligne de commande ou directement avec l’IHM. Les résultats et logs fournis sont assez complets et aident les développeurs à déboguer rapidement.

Cypress propose une version payante qui contient un dashboard en ligne, tout le reste est gratuit.

Points forts et points faibles de Cypress

Les points forts remontés de Cypress sont les suivants:

  • Un fort gain de productivité (temps d’exécution et d’analyse)
  • La flexibilité des tests (bout en bout avec serveurs, ou bouchonnés en parti ou totalement: attention avec les bouchons, il faut gérer des données supplémentaires)
  • Les tests sont simples à écrire (mais en Javascript) et peuvent donc être écrits par les développeurs front.

Les point faibles de Cypress:

  • Le gros point faible de Cypress est son impossibilité à être multi-navigateur. En effet, Cypress ne supporte que les navigateurs dont la base est Chromium (Chrome, Chromium, Electron, Canary)
  • Cypress est difficilement accessible pour des testeurs
  • Automatisation Web uniquement

Conclusion

Cypress est un outil d’automatisation intéressant car productif et flexible. Il faut néanmoins faire attention car il ne peut pas permettre de faire des tests multi navigateurs et semble viser principalement un public de développeur.

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

Cours gratuit sur Cypress par l’université du test automatisé.

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.

7 réponses

    1. Bonjour Stéphane,
      merci pour ce retour.
      Mes dernières informations étaient que l’on ne savait pas quand on pourrait avoir accès à l’outil sur Firefox (avec une fermeture des commentaires sur la branche pour éviter cette question récurrente).
      Il faudra que cet article soit mis à jour quand Firefox sera accessible car le manque d’adaptabilité est LE point faible de l’outil

  1. Bonjour,

    Cela fait 2 ans que je travaille sur Cypress. Je confirme que c’est un super framework de test automatique. Pour les inconvénients et avantages, je trouves que c’est assez relatifs car cela dépends beaucoup des besoins de l’application à testé. Exemple que j’ai en tête: Le fait que Cypress marche sur un nombre limité de navigateur est un avantage car c’est très très bien géré, à l’inverse de Selenium qui certes gère plusieurs navigateurs mais sont très difficiles à maintenir car il faut toujours trouver la bonne combinaison entre les versions de Selenium, du Werdriver et du navigateur. De plus, ces trois composants ne sont pas géré par la même entité et donc les versions navigateurs vont toujours plus vite que Selenium et le Webdriver.

    Enfin, dans mon cas, je l’ai intégré dans un Docker que je lance dans Gitlab-CI; et les tests sont rédigés en version cucumber sur Hiptest.

  2. Bonjour,
    Aujourd’hui il existe aussi un robot de test qui permet de tester les IHM de manière non intrusive, sur la validation fonctionnelle, l’endurance ou la non regression. il permet via le gestionnaire de test d’écrire vos scripts de test dans votre langage naturel.
    Le robot s’appelle eTASQ Motion.
    C’est l’entreprise Ponant Technolgies (en France) qui a conçu et fabrique cette machine.
    Je vous invite à jeter un coup d’oeil sur la site de la solution: https://etasqmotion.com/

    1. Bonjour Adrien,
      merci pour ce retour.
      SI vous le souhaitez, vous pouvez écrire un article « Outil de test » sur cet outil afin qu’il soit publier dans la taverne.
      Bonne journée

Laisser un commentaire

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

Bug

Duel: faux-positif vs faux-négatif

Intro S’il est bien 2 termes que j’ai confondus pendant de longues années c’est bien les termes « faux positif » et « faux négatif ». Je pense d’ailleurs que je ne suis pas le seul à avoir eu cette difficulté de compréhension tant ces termes sont peu présents dans le quotidien des testeurs

Lire la suite »
culture générale

Les niveaux de test

Le syllabus fondation ISTQB 2023 propose une évolution sur 5 niveaux. Vous pouvez retrouver un article similaire basé sur cette version du Syllabus en allant sur ce lien. Pour avoir un exemple imagé sur les niveaux de test je vous invite à lire cet article complémentaire. Introduction : Il existe d’après

Lire la suite »
logo média les e-novateurs
Interview

Interview Jérémy Pastouret – Créer un média pour mettre en avant le numérique responsable et la qualité

Bonjour Jérémy, peux-tu rapidement te présenter ? Je m’appelle Jérémy Pastouret, développeur web de formation engagé pour le numérique responsable, que je défends depuis de nombreuses années. J’ai également co-fondé l’association Les e-novateurs, le média du numérique responsable, éthique et inclusif. Peux-tu nous décrire ton parcours professionnel ? Diplômé d’un master en

Lire la suite »