La taverne du testeur

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 Responses

    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 *

Automatisation

Gérer et centraliser ses automates de tests avec JIRA et Xray – Simon Champenois

Même si aujourd’hui les automates de tests sont souvent intégrés dans des pipelines, ils sont aussi souvent « dispersés » sur différents projets en fonction des outils et des équipes de test. Ainsi, le rejeu des automates et l’obtention des résultats peuvent être compliqués à appréhender pour les personnes dont l’automatisation des

Lire la suite »