Je vous avais présenté il y a quelques mois un framework JAVA de tests d'IHM basé sur Sélenium : Fluentlenium. Lent, pas optimal et loin d'être parfait. C'est pourquoi aujourd'hui je vous présente Cypress, un framework de test d'IHM web, en Javascript. Simple à prendre en main pour des tests rapides et efficaces pour tout site ou application s'exécutant dans un navigateur web !
Au choix pour sa mise en place : npm install cypress ou télécharger un exécutable depuis le site. Pour créer un projet, il suffit de créer un dossier sur votre pc et de le glisser déposer dans l'interface (si vous avez pris l'exécutable) : cypress crée le projet, il ne reste qu'à écrire son premier test !
Mon fichier de test contient :
Que fait-il ? Il navigue vers la page mon_url.fr, puis vérifie que la page contient un élément ma_select_box ou attend sinon. Il récupère ensuite cet élément et sélectionne une de ses options puis clique sur le bouton mon_bouton si celui-ci est visible, etc.
Ses avantages ? Il attend automatiquement que la page soit chargée ou que l'élément soit visible (contrairement à Fluentlenium). A chaque étape du test, il fait une capture d'écran afin de garder l'état courant de chaque étape et de voir ce qu'il s'est passé après coup, notamment en cas d'erreur. Sa rapidité d'exécution bien sûr !
Et pour nous faciliter la prise en main, des tutos et une api bien documentés.
Simple et rapide à prendre en main, l'exécution des tests est tout aussi claire et efficace ! Ce framework permet aussi de mettre en place des suites de tests et de les enregistrer.