Connaissez-vous Cypress ? Nous utilisons ce framework pour nos tests utilisateurs. Vous souhaitez mieux connaître cet outil ? Quoi de mieux que les explications de l’un de nos développeurs ? Aujourd’hui c’est Lucas, développeur back-end qui répond à nos questions ! Alors pour savoir pourquoi et comment utiliser Cypress, lisez la suite !
Sutu’ : Qu’est ce que Cypress ?
Lucas : Cypress est un outil basé sur JavaScript. C’est un framework de test automatisé qui permet de réaliser des tests end-to-end afin de vérifier le bon fonctionnement d’un site internet. Il reproduit le comportement d’un utilisateur.
Sutu’ : Comment pouvons-nous l’utiliser ?
Lucas : Il est possible d’utiliser Cypress de différentes manières :
- Simplement pour tester des fonctionnalités et le bon fonctionnement d’un site en lançant les tests manuellement. Cela est utile pour les chefs de projets, afin d’éviter de tout tester à la main.
- Lancer les tests automatiquement par récurrence tous les X temps. Cela s’appelle du monitoring (vérifier le bon fonctionnement du site et évaluer ses performances). Cypress permet de mesurer les temps de chargement des pages. Cela permet d’avoir des tests en permanence et d’alerter par mail en cas de problèmes.
- Lancer des tests automatiquement après chaque déploiement d’une nouvelle fonctionnalité pour permettre de détecter d’éventuels bugs qui pourraient être créés avec le déploiement du nouveau code afin de les régler le plus rapidement possible.
Exemple de test effectués avec le Framework Cypress pour Carré Blanc
Sutu’ : Quels sont les avantages d’utiliser ce framework ?
Lucas : Cypress permet de détecter des bugs très rapidement et d’augmenter la fiabilité des processus de déploiement sur les projets.
- Il est conçu pour être facile à utiliser, même pour les développeurs qui ne sont pas familiers avec les tests automatisés. Il offre une API claire et concise qui rend l’écriture de tests plus simple et plus rapide.
- Vous pouvez voir vos tests s’exécuter en temps réel dans votre navigateur. Cela vous permet de déboguer plus facilement et de comprendre exactement ce qui se passe pendant vos tests.
- Puis l’automatisation de Cypress est complète. Il peut automatiser l’ensemble du processus de test, de l’installation à l’exécution des tests. Par conséquent, cela permet de gagner du temps et de réduire les erreurs humaines.
- Cypress supporte JavaScript, qui est le langage de programmation le plus couramment utilisé pour le développement web. Cela signifie que vous pouvez utiliser le même langage pour vos tests et votre code d’application.
Cependant il y a quelques inconvénients : il nécessite sans cesse d’être maintenu après chaque modification de nos sites E-commerce. Malgré ce temps supplémentaire, cela reste rentable car nous n’avons pas besoin de tester tout le site manuellement après chaque déploiement. De plus, cela permet d’identifier certains bugs plus complexes.
Aussi, les tests ne fonctionnent pas lorsqu’il y a des captchas, c’est pourquoi nous utilisons Cypress uniquement sur les serveurs de dev.
Sutu’ : connais-tu un autre outil que Cypress ?
Lucas : L’utilisation de Cypress est limitée aux applications web et n’est pas possible sur tous les navigateurs (comme Safari par exemple). Cypress ne supporte pas les tests qui nécessitent de naviguer entre plusieurs pages. Cela peut être un inconvénient si votre application e-commerce a une architecture multi-pages. Bien que Cypress soit excellent pour les tests fonctionnels, il ne fournit pas de support natif pour les tests de performance.
Il existe Selenium qui supporte une large gamme de navigateurs, y compris Chrome, Firefox, Safari, Internet Explorer et Opera. De plus, il peut être utilisé pour tester des applications web sur différents systèmes d’exploitation, y compris Windows, macOS et Linux. Cela signifie que vous pouvez être sûr que votre site E-commerce fonctionnera correctement pour tous vos clients, quel que soit le navigateur ou le système d’exploitation qu’ils utilisent. Selenium supporte aussi les tests multi-pages, ce qui est utile pour certains sites E-commerce. Contrairement à Cypress, Selenium supporte plusieurs langages de programmation, y compris Java, C#, Python, Ruby, et JavaScript. Cela signifie que vous pouvez choisir le langage qui vous convient le mieux pour écrire vos tests.
Cependant, il est important de noter que Selenium peut être plus difficile à utiliser et à configurer que Cypress. De plus, il peut être plus lent à exécuter des tests, car il doit interagir avec le navigateur de la même manière qu’un utilisateur humain.
En somme, Cypress est plus simple à utiliser et plus rapide pour les tests. Nous l’utilisons car il convient à tous nos projets. Sélénium serait une alternative si nous avions des sites multi-pages ou un navigateur particulier à tester.