Bonjour encore. Cette publication est dédiée au lancement du
cours Automation of Web Testing , qui commence cette semaine. Bonne lecture!
Qu'est-ce qu'un test sans tĂȘte?Le test sans tĂȘte est un lancement dans le navigateur d'un test pour les performances de tous les composants de l'interface utilisateur sans afficher cette interface elle-mĂȘme. Un tel test lance des scripts dans le navigateur, mais ne se lance pas et n'affiche pas l'interface utilisateur par elle-mĂȘme.

Pourquoi pourriez-vous avoir besoin d'utiliser des navigateurs sans tĂȘte? Cette approche prĂ©sente de nombreux avantages et inconvĂ©nients. L'utilisation d'un navigateur sans tĂȘte peut ne pas ĂȘtre trĂšs utile pour surfer sur le net, mais elle est indispensable pour automatiser les tĂąches et les tests.
Pourquoi utiliser un navigateur sans tĂȘte?Suivre l'argent est un clichĂ©, cependant, je pense toujours que c'est un indicateur clĂ© de l'Ă©mergence des tendances, et donc Ă quoi vous devez absolument faire attention. Par exemple, Sauce Labs vient de lancer un nouveau service appelĂ© Sauce Headless, une solution basĂ©e sur le cloud pour tester sans tĂȘte vos solutions.
Je sais que les gens de Sause sont des gens intelligents. Ils ne développeront rien pour rien. Ils doivent obtenir des commentaires des utilisateurs afin de comprendre que toute fonctionnalité est nécessaire.
Je suis sĂ»r qu'ils ne seront pas seuls dans leur quĂȘte pour dĂ©velopper des tests sans tĂȘte.
Alors que nous avançons dans le cycle de vie du dĂ©veloppement logiciel, les testeurs doivent fournir de plus en plus rapidement des commentaires aux dĂ©veloppeurs. Une façon d'y parvenir consiste Ă effectuer des vĂ©rifications rapides avec un navigateur sans tĂȘte.
Automatisation du développement logicielJe suis pour l'automatisation de toutes les mains, mais l'automatisation ne concerne pas seulement les tests.
Il s'agit d'une histoire sur tous les aspects que vous pouvez automatiser pour gagner du temps ou des efforts dans le cycle de vie du dĂ©veloppement logiciel, du contrĂŽle qualitĂ© ou des tests, du DevOps ou de l'installation. Les navigateurs sans tĂȘte sont l'un des puissants outils d'automatisation.
Les navigateurs sans tĂȘte sont plus rapides que les navigateurs classiquesL'une des diffĂ©rences les plus importantes entre les navigateurs sans tĂȘte et les navigateurs classiques est leur vitesse. Le fait est que lorsque vous chargez une page dans un navigateur sans interface graphique, elle n'a pas besoin de passer du temps Ă charger CSS, JavaScript et Ă rendre HTML.
Je ne dirais pas que la diffĂ©rence sera Ă©norme, mais dans certains cas, vous pouvez suivre l'augmentation de la vitesse de moitiĂ© ou mĂȘme de 15. Ainsi, si les performances sont importantes pour vous, un navigateur sans tĂȘte sera un bon choix.
Gratter avec un navigateur sans tĂȘteUn autre avantage des navigateurs sans tĂȘte est leur capacitĂ© Ă collecter des donnĂ©es Ă partir de
sites Web . Pour ce faire, vous n'avez pas besoin de lancer manuellement le navigateur. Vous pouvez utiliser la technologie sans tĂȘte pour simplement supprimer le code HTML. Et le rendu de l'ensemble du navigateur est complĂštement facultatif.
Supposons que votre cas nécessite des statistiques sportives ou des comparaisons de prix sur différents sites.
Ătant donnĂ© que vous n'avez besoin que de donnĂ©es, il n'est pas logique de lancer une essence de navigateur Ă part entiĂšre et de charger inutilement la machine, car moins il y a de charge, plus vous obtenez le rĂ©sultat rapidement. Il ne s'agit pas nĂ©cessairement de tests, il vous suffit d'utiliser le bon outil pour travailler. En gĂ©nĂ©ral, je pense que les testeurs sous-estiment en vain les navigateurs sans tĂȘte dans leur domaine.
Ainsi, si vous avez besoin d'obtenir des donnĂ©es d'une page Web, vous n'avez pas besoin de l'ouvrir et de donner une charge supplĂ©mentaire en ouvrant un navigateur, toutes les fonctionnalitĂ©s nĂ©cessaires sont capables de fournir un navigateur sans tĂȘte.
Gagnez du temps pour les dĂ©veloppeursJe sais que de nombreux dĂ©veloppeurs utilisent des navigateurs sans tĂȘte pour tester leurs sites et leurs applications. La possibilitĂ© de l'utiliser Ă partir de la ligne de commande sans mettre Ă jour ou lancer manuellement le navigateur leur fait gagner beaucoup de temps et d'efforts. Par exemple,
Rob Frizzel , l'auteur de
PhantomJS CookBook dans une interview avec
TestTalks a expliquĂ© pourquoi ses dĂ©veloppeurs utilisent le navigateur sans tĂȘte PhantomJS:
«Bien que PhantomJS lui-mĂȘme ne soit pas un cadre de test, c'est un« rayon de lumiĂšre utile dans une mine de charbon »qui donne confiance; si tous les tests sont rĂ©ussis, vous deviendrez beaucoup plus confiant que votre code est vraiment bon. »
Surveillance des performances avec des scripts de navigateur sans tĂȘteUne autre option pour utiliser un navigateur sans tĂȘte est de surveiller les performances des applications rĂ©seau.
Certains les utilisent mĂȘme pour automatiser le rendu et prendre des captures d'Ă©cran de l'Ă©cran d'un site Web afin de tester des mises en page dans un style automatisĂ©.
Je pense que c'est l'une des raisons pour lesquelles Google a dĂ©veloppĂ© une nouvelle API Chrome sans tĂȘte appelĂ©e
Puppeteer . Il vise principalement à aider les développeurs.
IdĂ©es clĂ©s Test du navigateur sans tĂȘteEn plus de l'idĂ©e prĂ©cĂ©dente, il existe Ă©galement d'autres options d'utilisation des navigateurs sans tĂȘte, dont je vais vous parler maintenant:
- Exécutez des tests sur une machine sans moniteur;
- Réglage des données;
- Test SSL;
- Simulation de plusieurs navigateurs sur une seule machine;
- ExĂ©cution de tests sur un systĂšme sans tĂȘte, tel que Linux sans interface graphique;
- Réception et visualisation de fichiers PDF;
- Test de balisage, car les navigateurs sans tĂȘte peuvent afficher le HTML et le CSS en tant que navigateurs Ă part entiĂšre, vous pouvez donc les tester avec des styles.
Cas oĂč vous ne souhaitez pas utiliser un navigateur sans tĂȘteBien sĂ»r, il peut arriver que vous souhaitiez utiliser un navigateur complet au lieu d'un navigateur sans tĂȘte. Par exemple:
- Vous devez simuler de vrais utilisateurs;
- Vous devez voir comment fonctionne le test;
- Si vous devez dĂ©boguer, cela peut ĂȘtre dĂ©licat avec un navigateur sans tĂȘte.
Navigateurs sans tĂȘte populaires- Google Puppeteer - Headless Browser Puppeteer est une bibliothĂšque de nĆuds. Il fournit une API de haut niveau pour contrĂŽler le chrome ou le chrome sans tĂȘte Ă l'aide du protocole DevTools. Il peut Ă©galement ĂȘtre configurĂ© pour utiliser du chrome ou du chrome Ă part entiĂšre (sans tĂȘte).
- Google Chrome Ă partir de la version 59;
- Firefox versions 55 et 56;
- PhantomJS - kit web sans tĂȘte sur l'API JavaScript. Il prend en charge rapidement et nativement diverses normes Web: traitement d'arborescence DOM, sĂ©lecteurs CSS, format JSON, Canvas et SVG. * Maintenant, il n'est pas pris en charge. Pour cette raison, vous ne voudrez peut-ĂȘtre pas l'utiliser.
- HtmlUnit est un navigateur sans interface graphique pour le code Java. Il modélise des documents HTML et fournit une API qui vous permet d'ouvrir des pages, de remplir des formulaires, de cliquer sur des liens, etc. Ainsi que dans votre navigateur "normal".
- Splinter - Splinter est un navigateur sans tĂȘte orientĂ© Python. Il est open source et est utilisĂ© pour tester des applications Web Ă l'aide de Python. Par exemple, vous pouvez l'utiliser pour automatiser les actions du navigateur, telles que la visite de pages Web et l'interaction avec leurs Ă©lĂ©ments.
- jBrowserDriver - Un pilote de navigateur Web intĂ©grĂ© et programmable compatible avec la spĂ©cification Selenium WebDriver - sans tĂȘte, basĂ© sur WebKit, en Java pur.
Quand devez-vous utiliser un navigateur sans tĂȘte pour les tests?La rĂ©ponse Ă cette question dĂ©pend de l'objectif de votre test.
D'une part, les gens disent souvent: «N'utilisez jamais de navigateurs sans tĂȘte. Un vrai utilisateur ne l'utilisera jamais, alors pourquoi devriez-vous? " Bien que, d'un autre cĂŽtĂ©, nous entendons: "Vous devez toujours utiliser un navigateur sans tĂȘte, car il est plus rapide et plus rapide en matiĂšre de tests, cela signifie mieux"
Comme nous le savons, chaque position aura des partisans et de l'opposition, mais ici il ne s'agit que de choisir les bons outils pour résoudre certains problÚmes.
N'oubliez pas que vous devez utiliser l'outil optimal pour le travail et toujours vous demander comment cela affectera l'utilisateur final, vous devez vous demander quel est le but du test chaque fois que vous faites un choix entre ces deux points de vue.
Selon la tradition établie, nous attendons vos commentaires, et rappelons également que dans quelques heures il y aura une
journĂ©e portes ouvertes , oĂč vous pourrez en savoir plus sur notre cours.