Qu’est-ce que le sélénium? Introduction aux tests d’automatisation du sélénium
Qu’est-ce que le sélénium?
Selenium est un framework de test automatisé gratuit (open-source) utilisé pour valider des applications Web sur différents navigateurs et plates-formes. Vous pouvez utiliser plusieurs langages de programmation comme Java, C #, Python, etc. pour créer des scripts de test de Sélénium. Les tests effectués à l’aide de l’outil de test du sélénium sont généralement appelés Tests de sélénium.
Le logiciel Selenium n’est pas seulement un outil unique, mais une suite de logiciels, chaque pièce répondant aux différents besoins de test d’assurance qualité du sélénium d’une organisation. Voici la liste des outils
- Environnement de développement intégré au Sélénium (E)
- Télécommande au sélénium (RC)
- WebDriver
- Grille au sélénium
À l’heure actuelle, Selenium RC et WebDriver sont fusionnés en un seul framework pour former Selenium 2. Le sélénium 1 fait d’ailleurs référence au sélénium RC.
Cliquez ici si la vidéo n’est pas accessible
Dans ce tutoriel, vous apprendrez:
- Qu’est-ce que le sélénium?
- Qui a développé le sélénium ?
- Le Même Problème de Politique d’origine
- Naissance de la Télécommande au Sélénium (Sélénium RC)
- Naissance de la Grille au Sélénium
- Naissance de l’E au Sélénium
- Naissance du WebDriver
- Naissance du Sélénium 2
- Alors, Pourquoi le nom Sélénium?
- Brève Introduction Sel Sélénium
- Brève introduction Télécommande Sélénium (Sélénium RC)
- Brève Introduction WebDriver
- Grille Sélénium
- Remarque sur le Support du Navigateur et de l’Environnement
- Comment Choisir le Bon Outil Sélénium pour Vos besoins
- Une comparaison entre le Sélénium et le QTP (maintenant UFT)
- Avantages du QTP par rapport au Sélénium
Qui a développé le sélénium ?
Puisque Selenium est une collection d’outils différents, il avait également différents développeurs. Voici les personnes clés qui ont apporté des contributions notables au projet Selenium
Principalement, Selenium a été créé par Jason Huggins en 2004. Ingénieur chez ThoughtWorks, il travaillait sur une application Web nécessitant des tests fréquents. Ayant réalisé que les tests manuels répétitifs de leur application devenaient de plus en plus inefficaces, il a créé un programme JavaScript qui contrôlerait automatiquement les actions du navigateur. Il a nommé ce programme comme le « JavaScriptTestRunner. » Voyant le potentiel de cette idée pour aider à automatiser d’autres applications Web, il a créé JavaScriptRunner open-source qui a ensuite été renommé Selenium Core. |
Le même problème de stratégie d’origine
La même stratégie d’origine interdit au code JavaScript d’accéder aux éléments d’un domaine différent de celui où il a été lancé. Exemple, le code HTML dans www.google.com utilise un programme JavaScript « randomScript.js ». La même stratégie d’origine n’autorisera que randomScript.js pour accéder aux pages dans google.com tels que google.com/mail , google.com/login , ou google.com/signup . Cependant, il ne peut pas accéder aux pages de différents sites tels que yahoo.com/search ou guru99.com parce qu’ils appartiennent à des domaines différents.
C’est la raison pour laquelle avant Selenium RC, les testeurs devaient installer des copies locales de Selenium Core (un programme JavaScript) et du serveur web contenant l’application Web testée afin qu’ils appartiennent au même domaine
Naissance de Selenium Remote Control (Selenium RC)
Malheureusement; les testeurs utilisant Selenium Core ont dû installer l’ensemble de l’application testée et le serveur Web sur leurs propres ordinateurs locaux en raison des restrictions imposées par la même politique d’origine. Ainsi, un autre ingénieur de ThoughtWork, Paul Hammant, a décidé de créer un serveur qui agira comme un proxy HTTP pour « tromper » le navigateur en lui faisant croire que Selenium Core et l’application Web testée proviennent du même domaine. Ce système est devenu connu sous le nom de Sélénium Remote Control ou Sélénium 1.
Naissance de la grille de sélénium
La grille de sélénium a été développée par Patrick Lightbody pour répondre au besoin de minimiser autant que possible les temps d’exécution des tests. Il a d’abord appelé le système « QA hébergé. »Il était capable de capturer des captures d’écran de navigateur pendant des étapes importantes, et également d’envoyer des commandes de sélénium à différentes machines simultanément.
Naissance de Selenium ID
Shinya Kasatani du Japon a créé Selenium ID, une extension Firefox qui peut automatiser le navigateur grâce à une fonctionnalité d’enregistrement et de lecture. Il a eu cette idée pour augmenter encore la vitesse de création de cas de test. Il a fait don de l’E Selenium au projet Selenium en 2006.
Naissance de WebDriver
Simon Stewart a créé WebDriver vers 2006 lorsque les navigateurs et les applications Web devenaient plus puissants et plus restrictifs avec des programmes JavaScript comme Selenium Core. C’était le premier framework de test multiplateforme capable de contrôler le navigateur à partir du niveau du système d’exploitation.
Naissance de Selenium 2
En 2008, toute l’équipe de Selenium a décidé de fusionner WebDriver et Selenium RC pour former un outil plus puissant appelé Selenium 2, WebDriver étant le noyau. Actuellement, le sélénium RC est toujours en cours de développement mais uniquement en mode maintenance. La plupart des efforts du projet Selenium sont maintenant concentrés sur le sélénium 2.
Alors, Pourquoi le nom Sélénium?
Le nom Selenium vient d’une blague que Jason a fendue une fois à son équipe. Au cours du développement de Selenium, un autre cadre de test automatisé a été populaire par la société appelée Mercury Interactive (oui, la société qui a initialement fabriqué QTP avant son acquisition par HP). Puisque le sélénium est un antidote bien connu pour l’empoisonnement au mercure, Jason a suggéré ce nom et ses coéquipiers l’ont pris. C’est ainsi que nous avons pu appeler ce cadre jusqu’à présent.
Brève introduction Sel Selenium
L’environnement de développement intégré Selenium (Sel) est le framework le plus simple de la suite Selenium et est le plus facile à apprendre. C’est un plugin Firefox que vous pouvez installer aussi facilement qu’avec d’autres plugins. Cependant, en raison de sa simplicité, l’EDI Sélénium ne doit être utilisé que comme outil de prototypage. Si vous souhaitez créer des cas de test plus avancés, vous devrez utiliser Selenium RC ou WebDriver.
Brève introduction La télécommande au sélénium (Sélénium RC)
Le Sélénium RC a longtemps été le cadre de test phare de l’ensemble du projet Selenium. Il s’agit du premier outil de test Web automatisé permettant aux utilisateurs d’utiliser un langage de programmation qu’ils préfèrent. À partir de la version 2.25.0, RC peut prendre en charge les langages de programmation suivants:
- Java
- C#
- PHP
- Python
- Perl
- Ruby
Brève introduction WebDriver
Le WebDriver se révèle être meilleur que Selenium ID et Selenium RC à bien des égards. Il implémente une approche plus moderne et plus stable dans l’automatisation des actions du navigateur. WebDriver, contrairement à Selenium RC, ne repose pas sur JavaScript pour les tests d’automatisation du Sélénium. Il contrôle le navigateur en communiquant directement avec lui.
Les langues prises en charge sont les mêmes que celles de Selenium RC.
- Java
- C#
- PHP
- Python
- Perl
- Ruby
Sélénium Grid
Selenium Grid est un outil utilisé avec Selenium RC pour exécuter des tests parallèles sur différentes machines et différents navigateurs en même temps. L’exécution parallèle signifie l’exécution de plusieurs tests à la fois.
Caractéristiques:
- Permet l’exécution simultanée de tests dans plusieurs navigateurs et environnements.
- Permet de gagner énormément de temps.
- Utilise le concept de hub et de nœuds. Le concentrateur agit comme une source centrale de commandes de sélénium pour chaque nœud qui lui est connecté.
Remarque sur la prise en charge du navigateur et de l’environnement
En raison de leurs différences architecturales, Selenium ID, Selenium RC et WebDriver prennent en charge différents ensembles de navigateurs et d’environnements d’exploitation.
Selenium IDE | WebDriver | |
---|---|---|
Browser Support | Mozilla Firefox | Internet Explorer versions 6 to 11, both 32 and 64-bit Microsoft Edge version 12.10240 & above ( partial support some functionalities under development) Firefox 3.0 and above Google Chrome 12.0. and above Opera 11.5 and above Android – 2.3 et plus pour les téléphones et tablettes (appareils &émulateurs) iOS 3+ pour les téléphones (appareils &émulateurs) et 3.2+ pour les tablettes (appareils &émulateurs) HtmlUnit 2.9 et plus |
Système d’exploitation | Windows, Mac OS X, Linux | Tous les systèmes d’exploitation sur lesquels les navigateurs ci-dessus peuvent s’exécuter. |
Remarque: Selenium WebDriver est considéré comme le successeur de Selenium RC qui a été déprécié & officiellement annoncé par SeleniumHQ.
Comment choisir le Bon Outil de sélénium pour Votre besoin
|
|
---|---|
Selenium IDE |
|
Selenium RC |
|
WebDriver |
|
Selenium Grid |
|
Une comparaison entre le sélénium et le QTP (maintenant UFT)
Quick Test Professional (QTP) est un outil de test automatisé propriétaire appartenant auparavant à la société Mercury Interactive avant son acquisition par Hewlett-Packard en 2008. 2006. La suite d’outils Selenium présente de nombreux avantages par rapport au QTP, comme détaillé ci-dessous –
Avantages et avantages du sélénium par rapport au QTP
|
|
---|---|
Open source, gratuit à utiliser et gratuit. | Commercial. |
Hautement extensible | Modules complémentaires limités |
Peut exécuter des tests sur différents navigateurs | Ne peut exécuter des tests que sous Firefox, Internet Explorer et Chrome |
Prend en charge divers systèmes d’exploitation | Ne peut être utilisé que sous Windows |
Prend en charge les appareils mobiles | QTP Prend en charge les applications mobiles automatisation des tests (iOS & Android) utilisant la solution HP appelée – HP Mobile Center |
Peut exécuter des tests pendant que le navigateur est minimisé | Doit avoir l’application sous test pour être visible sur le bureau |
Peut exécuter des tests en parallèle. | Ne peut s’exécuter qu’en parallèle mais en utilisant Quality Center qui est à nouveau un produit payant. |
Advantages of QTP over Selenium
|
|
---|---|
Can test both web and desktop applications | Can only test web applications |
Comes with a built-in object repository | Has no built-in object repository |
Automatise plus rapidement que Selenium car il s’agit d’unE complet. | Automatise à un rythme plus lent car il n’a pas d’EDI natif et seul un EDI tiers peut être utilisé pour le développement |
Les tests pilotés par les données sont plus faciles à effectuer car ils ont des tables de données globales et locales intégrées. | Les tests pilotés par les données sont plus lourds car vous devez vous fier aux capacités du langage de programmation pour définir les valeurs de vos données de test |
Peut accéder aux contrôles du navigateur (tels que la barre des favoris, la barre d’adresse, les boutons Précédent et suivant, etc.) | Ne peut pas accéder aux éléments en dehors de l’application Web testée |
Fournit un support client professionnel | Aucun support utilisateur officiel n’est offert. |
A la capacité native d’exporter les données de test dans des formats externes | N’a pas la capacité native d’exporter les données d’exécution vers des formats externes |
La prise en charge du paramétrage est intégrée | Le paramétrage peut être effectué via la programmation mais est difficile à implémenter. |
Les rapports de test sont générés automatiquement | Aucun support natif pour générer des rapports de test/bogues. |
Bien que le QTP ait clairement des capacités plus avancées, le sélénium l’emporte sur le QTP dans trois domaines principaux:
- Coût (car le sélénium est entièrement gratuit)
- Flexibilité (en raison d’un certain nombre de langages de programmation, de navigateurs et de plates-formes qu’il peut prendre en charge)
- Tests parallèles (quelque chose dont QTP est capable mais uniquement avec l’utilisation de Quality Center)
Résumé
- L’ensemble de la suite de tests logiciels Selenium est composé de quatre composants:
- Selenium ID, un add-on Firefox que vous ne pouvez utiliser que pour créer des cas de test et des suites de tests relativement simples.
- Télécommande Selenium, également connue sous le nom de Selenium 1, qui est le premier outil Selenium permettant aux utilisateurs d’utiliser des langages de programmation pour créer des tests complexes.
- WebDriver, la nouvelle percée qui permet à vos scripts de test de communiquer directement avec le navigateur, le contrôlant ainsi depuis le niveau du système d’exploitation.
- Selenium Grid est également un outil utilisé avec Selenium RC pour exécuter des tests parallèles sur différents navigateurs et systèmes d’exploitation.
- Selenium RC et WebDriver ont été fusionnés pour former Selenium 2.
- Le sélénium est plus avantageux que le QTP en termes de coûts et de flexibilité. Il vous permet également d’exécuter des tests en parallèle, contrairement à QTP où vous n’êtes autorisé à exécuter des tests que de manière séquentielle.
Leave a Reply