Cypress : un framework de tests efficace

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 !

ajoutons un fichier simple_specs.js à notre dossier de tests

Mon fichier de test contient :

describe('Mon test', () => {
  it('Aller à mon écran de test', () => {
    cy.visit('https://mon_url.fr');

    cy.contains('ma_select_box');
    cy.get('#ma_select_box').select('mon element');
    cy.get('#mon_bouton').should('be.visible').click();

    cy.contains('TEST').click();
    cy.get('#titre').should('be.visible');

    cy.contains('Test ok.');
  })
});
simple_specs.js

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.

Laisser un commentaire

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

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.