En termes de base, les navigateurs sans tête sont des navigateurs qui peuvent être utilisés pour tester l'utilisabilité des pages Web et exécuter les interactions du navigateur comme vous le feriez avec votre navigateur ordinaire. La seule différence ici est qu'il n'y a pas d'interface utilisateur graphique (GUI) et qu'ils sont généralement exécutés à partir du terminal.
Browsers sans tête:
Maintenant que nous avons connu un facteur majeur pour les deux outils, nous pouvons continuer.
Puppeteer est une bibliothèque de nœuds de Google qui fournit une API simple pour contrôler Chrome sans tête. Grâce à la marionnettiste, des tâches courantes telles que la saisie des entrées, cliquer sur les boutons, tester la convivialité des pages Web et même le grattage Web peut être effectué facilement.
Le marionnettiste est officiel de l'équipe Chrome et utilise le protocole de débogage à distance Chrome, tout comme nous le trouverions avec le Chrome Devtools. Cette bibliothèque prend en charge la syntaxe JavaScript moderne disponible dans Google Chrome.
Installation
L'installation et le démarrage avec les marionnettes est très facile. Étant donné que Puppeteer est une bibliothèque de nœuds, il peut être installé à l'aide du NPM outil.
L'installation peut être effectuée avec la commande ci-dessous:
npm i marionnettiste
L'exécution de la commande ci-dessus installe des marionnetsteer. Il devrait également télécharger une version récente de Chromium qui fonctionnerait avec l'API.
La taille du chrome varie en fonction du système d'exploitation:
Après l'installation de marionnettiste, vous pouvez trouver plus d'informations sur la façon de commencer, vous pouvez également consulter plus d'exemples de code.
Caractéristiques
Alors que la capacité de Puppeteer à lancer un navigateur sans tête est une fonctionnalité qui l'a gagnée, ce n'est pas la seule fonctionnalité qui le rend génial. Le marionnettiste a également quelques autres fonctionnalités qui le rendent utile, jetons un coup d'œil à certains d'entre eux.
Automatisation facile:
Bien qu'il existe d'autres outils qui peuvent être utilisés pour l'automatisation Web, Puppeteer sort en haut. Cela est dû au fait qu'il fonctionne bien pour un seul navigateur, qui est le navigateur Chrome sans tête, il effectue donc des tâches d'automatisation Web de la manière la plus efficace possible. Les marionnettistes fonctionnent également bien avec des bibliothèques de tests unitaires populaires telles que Mocha et Jasmine.
Test de capture d'écran:
Ceci est une caractéristique vitale pour toute tâche de test Web automatisé. Les captures d'écran sont importantes et aident à suivre le résultat des interactions avec les éléments sur une page Web. Des bibliothèques telles que marionnettiste-écran-test existent également dans Puppeteer qui offre la capacité de comparer les captures d'écran générées lors des tests. Ausside à générer des captures d'écran de tests, les PDF peuvent également être générés à partir des pages Web testées dans Puppeteer.
Test de performance:
Chrome fournit des devtools qui permettent l'enregistrement de la chronologie des performances des pages Web, et les marionnettes en profitent également. Avec les marionnettiste, les traces de chronologie des sites Web peuvent être capturées pour examiner les problèmes de performance. En raison du protocole de contrôle des API de haut niveau de Chrome Developers Tools de haut niveau, il donne aux utilisateurs la possibilité de contrôler les travailleurs du service et de tester la mise en cache de sites Web.
Stracage sur le Web:
Une conversation sur les fonctionnalités ne serait pas terminée sans reconnaître la capacité de marionnettiste à être utilisée à des fins de grattage Web. Apprendre à utiliser la marionnettiste comme grattoir Web est assez facile, jetez un œil à la documentation de l'API.
Sélénium
Selenium est un puissant cadre de test Web, qui a la capacité d'automatiser les applications Web à des fins de test. Selenium est également connu pour sa capacité à automatiser les tâches d'administration Web.
Le sélénium est disponible en deux parties; Le sélénium webdriver pour créer des suites d'automatisation et un test puissantes basées sur un navigateur et le sélénium IDE pour créer des scripts de reproduction de bogues rapides.
Sans oublier que le sélénium prend également en charge les navigateurs sans tête comme on le voit avec des marionnettes.
Installation
Contrairement à Puppeteer, la configuration du sélénium n'est pas simple. Le sélénium prend en charge de nombreuses langues et différents navigateurs, donc ces conditions possibles doivent être prises en charge.
Vous trouverez ci-dessous des liens vers des tutoriels officiels sur la façon de configurer les liaisons de sélénium pour différentes langues.
En soutenant différentes langues, Selenium prend également en charge plusieurs navigateurs. Contrairement aux marionnetsteer qui installe le chrome lors de l'installation, vous devrez peut-être installer des pilotes Web pour le navigateur Web de votre choix.
Voici des liens vers des pilotes Web pour Mozilla Firefox et Google Chrome.
Si vous souhaitez également utiliser le sélénium IDE, il existe également pour plusieurs navigateurs. Voici des liens vers Selenium IDE pour Mozilla Firefox et Google Chrome.
Caractéristiques
Sa capacité à travailler avec des navigateurs sans tête en a rendu incontestablement l'outil d'automatisation Web le plus populaire, mais il existe d'autres fonctionnalités qui le rendent puissant.
Support multi-langues:
C'est une fonctionnalité de sélénium très importante. Avec son support linguistique multiple, plus de développeurs peuvent utiliser l'outil pour leurs tâches de test d'automatisation Web. Bien que l'on puisse penser que son support multi-langues le rendrait lent, Selenium fonctionne toujours à une bonne vitesse car le démarrage d'un serveur dans le pilote Web n'est pas requis.
Support multi-plateforme:
De la même manière que le sélénium n'est pas limité par les barrières linguistiques, elle n'est pas non plus limitée par la barrière de la plate-forme. Ce n'est pas une nouvelle que l'application Web se comporte différemment sur plusieurs plateformes. Selenium donne aux testeurs la possibilité de tester les principaux navigateurs Web pour fournir une expérience utilisateur fluide aux utilisateurs de différents navigateurs. En tant que navigateurs, Selenium peut également être utilisé pour tester sur des mobiles tels que Android, iOS, Windows, BlackBerry Apps.
Outil d'enregistrement:
Avec Selenium IDE, il est facile d'enregistrer les tests d'automatisation Web. Selenium IDE permet aux testeurs d'utiliser la capacité d'enregistrement ainsi que la prise en charge de la saisie semi-automatique et la capacité de naviguer dans les commandes. L'outil d'enregistrement a cessé de travailler sur Firefox 55 et des versions ultérieures, mais il existe d'autres plugins sur Firefox qui servent le même but. Par conséquent, la capacité d'enregistrer des tests reste une fonctionnalité de sélénium majeure.
Stracage sur le Web:
Alors que le sélénium est utilisé pour tester les applications Web, il évolue également bien en tant que grattoir Web. Le sélénium peut être utilisé pour gratter les sites Web de l'Ajax et les sites Web les plus difficiles à gratter, à condition que vous puissiez comprendre la structure HTML. Vous pouvez consulter ce tutoriel sur l'utilisation du sélénium pour le grattage Web avec Python.
Si vous n'êtes pas dérangé de tester les pages Web sur d'autres plates-formes comme Chrome, alors vous travaillez bien avec Puppeteer, à condition que vous puissiez travailler avec JavaScript (Node). Cependant, si vous êtes préoccupé par plusieurs plates-formes, l'utilisation du sélénium est une évidence. Parler de leurs capacités de grattage Web, les deux outils même eux-mêmes. Il convient de noter cependant que le marionnettiste pourrait être plus rapide que le sélénium.
Tout outil que vous choisissez à la fin de la journée devrait être bien, profitez simplement d'écrire vos scripts d'automatisation.