Selenium est un framework open-source pour les tests automatisés d'applications web. Il fournit une suite d'outils pour automatiser les navigateurs Web sur plusieurs plates-formes et langages de programmation.
Le sélénium a été développé pour la première fois par Jason Huggins en 2004 en tant qu'outil interne chez ThoughtWorks.
Il a ensuite été publié en tant que projet open source en 2008.
Le cadre a depuis subi plusieurs mises à jour et révisions.
TestComplete est un outil de test automatisé commercial pour les applications Web, mobiles et de bureau. Il offre un large éventail de fonctionnalités, y compris la fonctionnalité d'enregistrement et de lecture, la reconnaissance d'objets et la prise en charge de plusieurs langages de script.
Sahi est un outil de test d'applications Web open source qui peut automatiser les tests fonctionnels, les tests de régression et les tests exploratoires d'applications Web. Il prend en charge plusieurs navigateurs et plates-formes et dispose d'un éditeur de script pour créer et éditer des cas de test.
Cypress est un outil de test JavaScript qui fournit des tests automatisés pour les applications Web. Il permet aux développeurs d'écrire des tests qui s'exécutent dans le navigateur, d'interagir avec le DOM et d'automatiser les tests UI. Il offre également des fonctionnalités telles que le débogage en temps réel et le rechargement.
Selenium WebDriver est le composant principal du framework Selenium qui permet l'automatisation du navigateur. Il fournit une interface de programmation pour interagir avec les navigateurs Web et automatiser les actions du navigateur telles que cliquer sur les boutons, remplir des formulaires et naviguer entre les pages.
Selenium IDE est un outil d'enregistrement et de lecture pour créer des scripts sans codage. Il permet aux utilisateurs d'enregistrer leurs actions et génère un script de test qui peut être exécuté plus tard dans le navigateur. Il est disponible en tant qu'extension pour Firefox et Chrome.
Selenium Grid est un outil utilisé pour exécuter des tests parallèles sur plusieurs machines et navigateurs. Il permet des tests distribués et peut évoluer vers des milliers de nœuds. Il est utilisé pour réduire le temps nécessaire à l'exécution de grandes suites de test.
Selenium prend en charge une variété de langages de programmation, y compris Java, Python, C#, Ruby et JavaScript. Il prend également en charge d'autres langues par le biais de bibliothèques communautaires.
Selenium WebDriver est une interface de programmation pour l'automatisation du navigateur, tandis que Selenium IDE est un outil d'enregistrement et de lecture pour créer des scripts de test sans codage. WebDriver est plus puissant et flexible, tandis que IDE est plus facile à utiliser pour des tests simples.
Le sélénium peut être utilisé pour les tests d'applications mobiles grâce à l'utilisation d'émulateurs et de simulateurs. Cependant, il n'est pas recommandé pour les tests sur des périphériques réels, car il existe des limitations dans l'interaction avec les fonctionnalités matérielles de l'appareil.
Certaines connaissances de base en programmation sont nécessaires pour utiliser Selenium efficacement, car il s'agit d'écrire et d'exécuter du code dans un langage de programmation. Cependant, il existe des outils comme Selenium IDE qui permettent de créer des scripts de test sans codage.
Le sélénium est populaire parmi les outils de test automatisés pour sa flexibilité, sa nature open source et sa prise en charge de plusieurs langages de programmation. D'autres outils comme TestComplete et Cypress offrent des fonctionnalités similaires, mais peuvent avoir des forces et des limites différentes.