Puppeteer Web Scraping and Test Automation – Un excellent guide d’apprentissage du didacticiel Puppeteer 3

De nos jours, le marionnettiste attire de plus en plus l'attention en tant qu'outil de grattage Web. En raison de sa simplicité, de sa disponibilité en tant qu'outil open source et de sa capacité à développer une application d'une seule page, Puppeteer gagne en popularité. Avant de commencer à apprendre sur l'outil de grattage Web Puppeteer, nous devrions avoir une compréhension de base de la ligne de commande, de Javascript et de la structure HTML DOM. Le Tutoriel marionnettiste a été divisé en quelques articles qui sont spécifiés dans la table des matières ci-dessous.

Tutoriel de marionnettiste

Tutoriel Tosca # 1: Aperçu du marionnettiste

Tosca Tutorial # 2: Variables d'environnement de marionnettiste

Tosca Tutorial # 3: Présentation de l'automatisation du scraping Web et des tests de marionnettiste

Tosca Tutorial # 4: Installez Puppeteer 

Dans cet article de Tutoriel de marionnettiste, nous discuterons de Puppeteer Web Scraping avec un exemple et une vue d'ensemble de l'automatisation de Puppeteer Test. 

Scraping Web de marionnettiste

Le processus d'extraction de données à partir de n'importe quelle page Web est appelé web scraping. Le scraping Web comporte deux étapes. Tout d'abord, il récupère la page Web, puis extrait les données. Après l'extraction des données, nous pouvons l'utiliser pour n'importe quelle API ou la stocker dans un fichier CSV. 

Puppeteer est l'un des meilleurs outils pour prendre en charge le scraping Web pour le navigateur Google Chrome ou Chromium. Le raclage Web du marionnettiste est expliqué en détail avec l'exemple ci-dessous - 

Exemple de scraping Web de marionnettiste de base:

Étape 1# Le marionnettiste fonctionne sur la bibliothèque Node JS. Donc, la première étape consiste à inclure la bibliothèque marionnettiste avant d'écrire le script pour le web scraping.

const puppeteerObj = require("puppeteer");

Étape 2# Après avoir inclus la classe Puppeteer, nous devons écrire une fonction asynchrone en utilisant le mot-clé await. C'est nécessaire car Puppeteer utilise ses promesses. Appelez ensuite la méthode Puppeteer.launch () pour appeler le navigateur et appelez la méthode newPage () pour créer une instance de page Web.

const browserWeb = await puppeteerObj.launch();
const pageWeb = await browserWeb.newPage();

Étape 3# Appelez maintenant la méthode page.goto () pour fournir l'URL du site Web souhaité.

await pageWeb.goto("https://techiescience.com/");

Étape 4# Utilisez la méthode page.evaluate () pour capturer le texte d'un élément particulier (dans cet exemple, nous capturerons le texte d'en-tête). 

const data = await pageWeb.evaluate(() => {   
const header = document.querySelector(".uabb-heading-text").innerText;
return { header };

Nous discuterons de la manière d'identifier un objet à partir de l'écran Web dans le prochain didacticiel.

Tutoriel Marionnettiste - Scraping Web Marionnettiste
Tutoriel Marionnettiste - Scraping Web Marionnettiste

Étape 5# Dans cette dernière étape, nous devons traiter les données, puis fermer la page Web. Le code complet de Scraping Web Marionnettiste sera comme ci-dessous -

const puppeteer = require("puppeteer");

async function scrap() {
  // Launch the browser
  const browserApp = await puppeteer.launch();
  // Create a page instance
  const pageApp = await browserApp.newPage();
  // invoke the web page for scraping
  await pageApp.goto("https://techiescience.com/");

  // Select any web element
const data = await pageApp.evaluate(() => {   
const header = document.querySelector(".uabb-heading-text").innerText;
return { header };

// Here we can do anything with this data. Here displaying the data
console.log(header);

 //We close the browser
  await browserApp.close();
}

Scrap();

Étape 6# Maintenant, nous pouvons exécuter ce code de scraping web marionnettiste en utilisant la commande:  noeud index.js

Remarque: Dans le prochain article, «Installer Puppeteer», nous discuterons de la configuration d'installation de Puppeteer et exécuterons le code ci-dessus de Puppeteer Web Scraping.

Présentation de l'automatisation des tests de marionnettiste

Outre le scraping Web, le marionnettiste dispose également des fonctionnalités nécessaires pour effectuer les activités ci-dessous,

  • Capturez les captures d'écran des pages Web.
  • Nous pouvons enregistrer l'écran de la page Web sous forme de fichier pdf.
  • L'automatisation des étapes manuelles peut être réalisée pour effectuer des tests d'interface utilisateur.

Ainsi, en combinant toutes les fonctionnalités ci-dessus, nous pouvons utiliser le marionnettiste pour l'automatisation des tests. Pour comprendre l'automatisation des tests de marionnettiste, nous devons d'abord nous familiariser avec les tests de logiciels.

Aperçu des tests:

Des tests sont nécessaires pour garantir que toutes les exigences logicielles sont remplies sans aucun problème. Différents types de cycles de test sont disponibles dès le début du processus de développement logiciel. Les logiciels peuvent être testés manuellement ou via une approche automatisée.

Les objectifs des tests logiciels sont -

  • Vérifiez la qualité des produits.
  • Trouvez les bogues du produit avant le déploiement en production.
  • La vérification des exigences est satisfaite.
  • Tester les performances du produit.

Les types de tests sont expliqués ici -

Tests unitaires - Les développeurs sont responsables d'effectuer des tests unitaires pendant la phase de développement du code.

Test d'intégration - Ce test est requis après l'intégration des différents composants du produit logiciel. L'objectif principal est de s'assurer que toutes les interfaces fonctionnent correctement.

Test du système - C'est un test détaillé qui doit être effectué après l'intégration pour s'assurer que toutes les exigences sont remplies.

User Acceptance Test - C'est aussi un test détaillé qui doit être effectué par l'utilisateur final du produit pour garantir la qualité.

Test de régression - Il est nécessaire de s'assurer que le processus métier de base fonctionne correctement lors de toute amélioration logicielle.

Avantages de l'automatisation des tests :

  • Réduisez le cycle d'exécution.
  • Évitez les risques d'erreurs humaines.
  • Minimisez les efforts d'exécution des tests.
  • Version logicielle rapide.
  • Augmentez la couverture des tests pour réduire le risque.
  • Capacité à exécuter une exécution parallèle.

Pourquoi Puppeteer?

La plupart des opérations manuelles effectuées dans le navigateur Chrome peuvent être automatisées à l'aide de Puppeteer. Ainsi, le Puppeteer est un bon choix pour les tests unitaires sur les applications Web de manière rapide et simple. 

Les limites de Puppeteer en tant qu'outil de test d'automatisation sont -

  • Prend uniquement en charge les navigateurs Chrome et Chromium.
  • Le test du navigateur Coss n'est pas possible.
  • Les tests mobiles ne peuvent pas être effectués.

Test de Chrome sans tête:

Le navigateur sans tête signifie que le marionnettiste interagit avec un navigateur Chrome en tant qu'application d'arrière-plan, ce qui signifie que l'interface utilisateur de chrome n'est pas visible à l'écran. Ainsi, le test de chrome sans tête signifie que le test d'automatisation doit être effectué dans un navigateur caché. De plus, après les tests de chrome sans tête, le marionnettiste est capable de capturer correctement l'écran Web.

Marionnettiste vs Sélénium

La comparaison entre Puppeteer et Selenium en tant qu'outil de test d'automatisation est expliquée ci-dessous -

  • Prise en charge du langage de programmation - Puppeteer prend en charge uniquement JavaScript, où Selenium prend en charge les langages Java, Python, Node.js et C #.
  • Prise en charge du navigateur - Puppeteer ne s'applique qu'aux navigateurs Chrome ou Chromium, mais Selenium prend également en charge les navigateurs Chrome, Mozilla, Safari, IE et Opera.
  • Soutien communautaire - Assistance communautaire limitée à Google Groupes, GitHub et Stack Overflow pour le marionnettiste. Mais pour Selenium, un large support communautaire sur plusieurs forums est disponible.
  • Vitesse d'exécution - L'exécution du script Puppeteer est plus rapide que Selenium.
  • Installation et configuration - L'installation et la configuration du marionnettiste sont un processus plus facile et plus simple.
  • Prise en charge multiplateforme - Marionnettiste ne le supporte pas, mais Selenium le peut.
  • Enregistrement - Les fonctionnalités d'enregistrement ne sont pas disponibles dans Puppeteer. Mais cette fonctionnalité est disponible pour Selenium IDE.
  • Captures d'écran - Puppeteer a la capacité de prendre une capture d'écran au format image ou pdf, où Selenium ne peut prendre en charge que le format d'image.
  • Prise en charge de la plate-forme de test - Puppeteer ne prend en charge que les navigateurs Web, mais Selenium peut automatiser le Web et mobile avec Appium.
  • Compétences en codage - Il est requis pour le pilote Web Puppeteer Selenium mais pas pour Selenium IDE.

Sur la base de la comparaison ci-dessus, nous pouvons conclure que Puppeteer fera le meilleur choix lorsque nous devons effectuer des tests au niveau de l'unité pour toute application Web nécessitant une solution rapide et flexible. L'autre outil, Selenium, sera le meilleur choix lorsqu'il y aura un besoin d'application mobile et multiplateforme test d'applicationsCliquez sur ici pour apprendre Selenium de LambdaGeeks.

Conclusion:

Dans cet article introductif sur Tutoriel de marionnettiste, nous avons découvert la vue d'ensemble de Puppeteer Web Scraping et Puppeteer Test Automation. Nous découvrirons le guide étape par étape pour installer Puppeteer et exécuter un petit script dans le prochain article de Puppeteer. Cliquez s'il vous plait ici pour visiter le portail de référence de ce didacticiel de marionnettiste.

Laisser un commentaire