Puppeteer Web Scraping en testautomatisering - Een uitstekende leergids voor Puppeteer Tutorial 3

Tegenwoordig krijgt de Puppeteer meer aandacht als een webschraptool. Vanwege de eenvoud, de beschikbaarheid als open-source tool en de mogelijkheid om een ​​enkele pagina-applicatie te ontwikkelen, wint Puppeteer aan populariteit. Voordat we beginnen met het leren van de Puppeteer-webschraptool, moeten we basiskennis hebben van de opdrachtregel, Javascript en HTML DOM-structuur. De Tutorial voor poppenspeler is opgedeeld in enkele artikelen die worden gespecificeerd in onderstaande inhoudsopgave.

Puppeteer-zelfstudie

Tosca Tutorial # 1: Poppenspeler Overzicht

Tosca Tutorial # 2: Poppenspeler omgevingsvariabelen

Tosca Tutorial # 3: Puppeteer Web Scraping en Puppeteer Test Automation Overzicht

Tosca Tutorial # 4: Installeer Puppeteer 

In dit artikel van Puppeteer-zelfstudie, zullen we Puppeteer Web Scraping bespreken met een voorbeeld en Puppeteer Test-automatiseringsoverzicht. 

Webscraping van de poppenspeler

Het proces van gegevensextractie van webpagina's wordt webscraping genoemd. Webschrapen bestaat uit twee stappen. Ten eerste haalt het de webpagina op en extraheert het vervolgens de gegevens. Na gegevensextractie kunnen we het voor elke API gebruiken of opslaan in een CSV-bestand. 

Puppeteer is een van de beste tools om webscraping voor Google Chrome of Chromium-browser te ondersteunen. Het webschrapen van poppenspelers wordt in detail uitgelegd met het onderstaande voorbeeld - 

Voorbeeld van basispoppenspelerswebschrapen:

Stap 1# De poppenspeler werkt aan de Node JS-bibliotheek. De eerste stap is dus om de poppenspelerbibliotheek op te nemen voordat u het script voor webscraping schrijft.

const puppeteerObj = require("puppeteer");

Stap 2# Na het opnemen van de Puppeteer-klasse, moeten we een asynchrone functie schrijven met behulp van het await-sleutelwoord. Het is vereist omdat Puppeteer beloften gebruikt. Roep vervolgens de methode Puppeteer.launch () aan om de browser op te roepen en roep de methode newPage () aan om een ​​webpagina-instantie te maken.

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

Stap 3# Roep nu de methode page.goto () aan om de URL van de gewenste website op te geven.

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

Stap 4# Gebruik de methode page.evaluate () om de tekst van een bepaald element vast te leggen (in dit voorbeeld vangen we de koptekst op). 

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

In de komende tutorial zullen we bespreken hoe elk object van het webscherm kan worden geïdentificeerd.

Puppeteer-zelfstudie - Puppeteer-webschrapen
Puppeteer Tutorial - Puppeteer Web Scraping

Stap 5# In deze laatste stap moeten we de gegevens verwerken en vervolgens de webpagina sluiten. De volledige Puppeteer Web Scraping-code ziet er als volgt uit:

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();

Stap 6# Nu kunnen we deze poppenspeler-webscraping-code uitvoeren met behulp van het commando:  knooppunt index.js

Opmerking: In het volgende artikel, "Installeer Puppeteer", zullen we de installatie-instellingen van Puppeteer bespreken en de bovenstaande Puppeteer Web Scraping-code uitvoeren.

Puppeteer Test Automation Overzicht

Afgezien van webscraping, heeft de poppenspeler ook de functies om de onderstaande activiteiten uit te voeren,

  • Leg de screenshots van webpagina's vast.
  • We kunnen het scherm van de webpagina opslaan als een pdf-bestand.
  • Automatisering van handmatige stappen kan worden bereikt om UI-testen uit te voeren.

Door alle bovenstaande functies te combineren, kunnen we de Puppeteer gebruiken voor testautomatisering. Om de Puppeteer Test Automation te begrijpen, moeten we eerst vertrouwd zijn met het testen van software.

Testoverzicht:

Testen is vereist om ervoor te zorgen dat aan alle softwarevereisten wordt voldaan zonder problemen. Vanaf het begin van het softwareontwikkelingsproces zijn er verschillende soorten testcycli beschikbaar. Software kan handmatig of via de geautomatiseerde aanpak worden getest.

Doeleinden van softwaretests zijn -

  • Controleer de kwaliteit van de producten.
  • Zoek de bugs van het product vóór de productie-implementatie.
  • Aan het controleren van de eisen is voldaan.
  • De prestaties van het product testen.

De soorten testen worden hier uitgelegd -

Testen van een eenheid - De ontwikkelaars zijn verantwoordelijk voor het uitvoeren van unit-tests tijdens de code-ontwikkelingsfase.

Integratietesten - Deze test is vereist na integratie van de verschillende componenten van het softwareproduct. Het belangrijkste doel is ervoor te zorgen dat alle interfaces soepel werken.

Systeem testen - Het is een gedetailleerde test die na de integratie moet worden uitgevoerd om er zeker van te zijn dat aan alle vereisten wordt voldaan.

Gebruikers Acceptatie Testen - Het is ook een gedetailleerde test die door de eindgebruiker van het product moet worden uitgevoerd om de kwaliteit te waarborgen.

Teruglopende testen - Het is vereist om ervoor te zorgen dat het kernbedrijfsproces soepel werkt tijdens eventuele softwareverbeteringen.

Voordelen van testautomatisering:

  • Verkort de uitvoeringscyclus.
  • Voorkom de kans op menselijke fouten.
  • Minimaliseer de inspanningen voor het uitvoeren van tests.
  • Snelle softwareversie.
  • Verhoog de testdekking om het risico te verkleinen.
  • Mogelijkheid om parallelle uitvoering uit te voeren.

Waarom poppenspeler?

De meeste handmatige bewerkingen die in de Chrome-browser worden uitgevoerd, kunnen worden geautomatiseerd met Puppeteer. De poppenspeler is dus een goede keuze voor het snel en gemakkelijk testen van eenheden op webapplicaties. 

De beperkingen van Puppeteer als een tool voor het testen van automatisering zijn -

  • Ondersteunt alleen de Chrome- en Chromium-browser.
  • Coss-browser testen is niet mogelijk.
  • Mobiel testen is niet mogelijk.

Headless Chrome-testen:

De headless browser betekent dat de Puppeteer interactie heeft met een Chrome-browser als achtergrondtoepassing, wat betekent dat de Chrome-gebruikersinterface niet zichtbaar is op het scherm. Dus de headless chrome-test betekent dat de automatiseringstest moet worden uitgevoerd in een verborgen browser. Ook kan de poppenspeler na de headless chrome-test het webscherm correct vastleggen.

Poppenspeler versus selenium

De vergelijking tussen Puppeteer en Selenium als een automatiseringstesttool wordt hieronder uitgelegd -

  • Ondersteuning programmeertaal - Puppeteer ondersteunt alleen JavaScript, waar Selenium Java, Python, Node.js en C # -talen ondersteunt.
  • Browser-ondersteuning - Puppeteer is alleen van toepassing op de Chrome- of Chromium-browser, maar Selenium ondersteunt ook Chrome, Mozilla, Safari, IE, Opera-browsers.
  • Maatschappelijke hulp - Communityondersteuning beperkt tot Google Discussiegroepen, GitHub en Stack Overflow voor de poppenspeler. Maar voor Selenium is brede gemeenschapsondersteuning via meerdere forums beschikbaar.
  • Uitvoeringssnelheid - Uitvoering van Puppeteer-script is sneller dan Selenium.
  • Installatie en configuratie - Het installeren en instellen van poppenspelers is een eenvoudiger en eenvoudiger proces.
  • Platformoverschrijdende ondersteuning - Poppenspeler ondersteunt het niet, maar Selenium wel.
  • Opnemen - Opnamefuncties zijn niet beschikbaar in Puppeteer. Maar deze functie is beschikbaar voor Selenium IDE.
  • Schermafbeeldingen - Poppenspeler heeft de mogelijkheid om een ​​screenshot te maken als een afbeelding of pdf-formaat, waarbij Selenium alleen het afbeeldingsformaat ondersteunt.
  • Ondersteuning voor testplatforms – Puppeteer ondersteunt alleen webbrowsers, maar Selenium kan web- en mobiel met Appium.
  • Codeervaardigheden - Het is vereist voor Puppeteer Selenium Web-stuurprogramma, maar niet voor Selenium IDE.

Op basis van bovenstaande vergelijking kunnen we concluderen dat Puppeteer de beste keuze zal zijn wanneer we unit level testing moeten uitvoeren voor elke webapplicatie waar een snelle en flexibele oplossing vereist is. De andere tool, Selenium, zal de betere keuze zijn wanneer er behoefte is aan mobiele applicaties en platformonafhankelijke applicatie testen. Klikken hier om Selenium te leren van LambdaGeeks.

Conclusie:

In dit inleidende artikel over Puppeteer-zelfstudie, hebben we geleerd over Puppeteer Web Scraping en Puppeteer Test Automation-overzicht. We zullen in het volgende Puppeteer-artikel leren over de stapsgewijze handleiding om Puppeteer te installeren en een klein script uit te voeren. Klik a.u.b. hier om het referentieportaal voor deze Puppeteer Tutorial te bezoeken.

Laat een bericht achter