Marionnettiste vs sélénium

Marionnettiste vs sélénium
Aujourd'hui, en ce qui concerne les tests Web automatisés, les marionnetsteer et le sélénium sont les deux noms qui apparaissent. L'une des principales raisons pour lesquelles ils sont bien connus est leur capacité à exécuter des navigateurs sans tête. Par conséquent, avant de poursuivre l'article, jetons un coup d'œil à ce que sont les navigateurs sans tête et leurs avantages.

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:

  • aider à réduire considérablement l'utilisation des ressources
  • Ils sont plus rapides
  • Ils sont idéaux à des fins de grattage Web
  • Ils peuvent être utilisés pour surveiller les performances des applications réseau

Maintenant que nous avons connu un facteur majeur pour les deux outils, nous pouvons continuer.

Marionnettiste

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:

  • ~ 170 Mo pour mac
  • ~ 282 Mo pour Linux
  • ~ 280 Mo pour Windows

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.

Avantages

  1. Fonctionne bien pour les tests visuels.
  2. Idéal pour les tests de fin.
  3. Rapide par rapport au sélénium.
  4. Peut prendre des captures d'écran des pages Web.
  5. Plus de contrôle sur les tests via Chrome.
  6. Peut tester le mode hors ligne.

Les inconvénients

  1. Prend en charge uniquement JavaScript (nœud)
  2. Prend en charge uniquement Chrome

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.

  • C #
  • Java
  • Javascrip
  • Python
  • Rubis

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.

Avantages

  1. Support multiplateforme.
  2. Support multi-langues.
  3. Capacité à enregistrer les tests.
  4. Peut prendre des captures d'écran aussi.
  5. Énorme communauté d'utilisateurs.

Les inconvénients

  1. Lent par rapport à la marionnettiste.
  2. Contrôle limité sur les tests par rapport au marionnettiste.

Conclusion

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.