Tableau comparatif Cypress / Panther

Caractéristique Cypress Panther
Facilité d'installation Relativement facile à installer Facile à installer
Documentation Documentation extensive Bonne documentation
Support des navigateurs Chrome, Firefox, Edge Chrome, Firefox
Langage JavaScript PHP
Support communautaire Fort soutien communautaire Communauté en croissance
Intégration Symfony Nécessite une configuration supplémentaire Support natif de Symfony
Exécuteur de tests Son propre exécuteur de tests PHPUnit
Tests en navigateur réel Oui Oui
Mode Headless Pris en charge Pris en charge
Intégration CI/CD Excellente prise en charge Bonne prise en charge
Performance Exécution rapide Dépend de l'environnement
Outils de débogage Outils de débogage avancés Outils de débogage basiques

Cypress s'installe comme un packet npm ce qui ne rajoute pas trop de complexité au projet ( un nouveau dossier teste2e et un fichier cypress.json pour la config ) vu qu'on utilise à présent webpack encore et qu'on a déjà un package.json. Il faut tout de même avoir npm en local pour pouvoir lancer les tests avec l'interface visuelle. L'un des désavantages est de ne pas pouvoir gérer pour chaque test le contenu de la base de donnée avec les fixtures. Sauf si on utilise des makefiles. Du côté du CI, il est possible d'executer les fixtures entre différents lots de tests.

Panther à l'avantage de fonctionner avec PHPUnit, ce qui permet d'executer tous les types de tests avec la même commande. Cependant en local, afin d'avoir l'interface visuelle, cela nécessite de devoir installer php en local sur la machine avec la bonne version. Ce n'est pas une pratique courante depuis l'arrivée de docker. Mais ce n'est pas obligatoire pour juste executer les tests, c'est surtout à la création des tests et au débuggage.

Retrour de Sam : En prenant le temps de tester Panther, je pense que Cypress a des outils beaucoup plus avancés pour faire les tests end 2 end, en particulier pour aider à débugger ce qui ne marche. ( on peut relancer les tests directement, les errors s'affichent sur le navigateur, on peut voir enregistrer les runs en vidéos ) L'écriture des tests de Panther est compliqué

Select a repo