Puppeteer Web Scraping és Tesztautomatizálás – A Puppeteer Tutorial 3 kiváló tanulási útmutatója

Napjainkban a Puppeteer egyre nagyobb figyelmet kap, mint webkaparó eszköz. Az egyszerűség, a nyílt forráskódú eszközként való elérhetőség és az egyoldalas alkalmazás fejlesztési képessége miatt a Puppeteer egyre népszerűbb. Mielőtt elkezdené a Puppeteer webkaparó eszközzel való tanulást, alapvető ismeretekkel kell rendelkeznünk a parancssorról, a Javascriptről és a HTML DOM szerkezetéről. A Bábos bemutató néhány cikkre bontották, amelyeket az alábbi tartalomjegyzék határoz meg.

Bábos bemutató

1. Tosca oktatóanyag: Bábos áttekintése

Tosca oktatói # 2: Bábos környezeti változók

Tosca oktatói # 3: A Puppeteer Web Scraping és Puppeteer Test Automation áttekintése

Tosca oktatói # 4: Telepítse a Puppeteer programot 

Ebben a cikkben Bábos bemutató, megvitatjuk a Puppeteer Web Scraping egy példát és a Puppeteer Test automatizálási áttekintést. 

Bábos webkaparás

A weboldalakról történő adatkinyerési folyamatot webkaparásnak nevezik. A webkaparás két lépésből áll. Először is lekéri a weboldalt, majd kivonja az adatokat. Adatkinyerés után bármilyen API-hoz használhatjuk, vagy CSV fájlban tárolhatjuk. 

A Puppeteer az egyik legjobb eszköz a webkaparás támogatására a Google Chrome vagy a Chromium böngészőben. A bábjátékos háló kaparását az alábbi példa részletesen ismerteti - 

Egyszerű bábjátékos webkaparási példa:

1. lépés# A Puppeteer a Node JS könyvtáron működik. Tehát az első lépés a bábos könyvtár felvétele, mielőtt megírná a szkriptet a webkaparáshoz.

const puppeteerObj = require("puppeteer");

2. lépés# A Puppeteer osztály felvétele után egy aszinkron függvényt kell írnunk az await kulcsszó használatával. Ez szükséges, mivel a Puppeteer ígéreteket használ. Ezután hívja meg a Puppeteer.launch() metódust a böngésző meghívásához, és hívja meg a newPage() metódust a weblappéldány létrehozásához.

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

3. lépés# Most hívja meg a page.goto() metódust a kívánt webhely URL-címének megadásához.

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

4. lépés# A page.evaluate() metódus segítségével rögzítheti egy adott elem szövegét (ebben a példában a fejléc szövegét fogjuk rögzíteni). 

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

A következő oktatóanyagban megvitatjuk, hogyan lehet azonosítani bármilyen objektumot a webképernyőről.

Bábos oktatóanyag – Bábos webkaparás
Bábos bemutató – Bábos webkaparás

5. lépés# Ebben az utolsó lépésben fel kell dolgoznunk az adatokat, majd be kell zárnunk a weboldalt. A teljes Puppeteer Web Scraping kód az alábbiak szerint fog kinézni -

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://lambdageeks.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();

6. lépés# Most már végrehajthatjuk ezt a bábjátékos webkaparó kódot a következő paranccsal:  csomópont index.js

Jegyzet: A következő, „A Puppeteer telepítése” című cikkben megvitatjuk a Puppeteer telepítési beállításait, és végrehajtjuk a fenti Puppeteer Web Scraping kódot.

Bábos tesztautomatizálás áttekintése

A webkaparáson kívül a Puppeteer az alábbi tevékenységek elvégzésére is rendelkezik,

  • Készítsen képernyőképeket weboldalakról.
  • A weboldal képernyőjét elmenthetjük pdf fájlként.
  • A kézi lépések automatizálása elérhető a felhasználói felület teszteléséhez.

Tehát a fenti funkciókat kombinálva a Puppeteer-t tesztautomatizálásra használhatjuk. A Puppeteer Test Automation megértéséhez először is ismernünk kell a szoftvertesztelést.

A tesztelés áttekintése:

Tesztelés szükséges annak biztosítására, hogy minden szoftverkövetelmény problémamentesen teljesüljön. A szoftverfejlesztési folyamat kezdetétől különböző típusú tesztelési ciklusok állnak rendelkezésre. A szoftver manuálisan vagy automatizált megközelítéssel tesztelhető.

A szoftvertesztelés céljai:

  • Ellenőrizze a termékek minőségét.
  • Keresse meg a termék hibáit az éles üzembe helyezés előtt.
  • A követelmények ellenőrzése teljesül.
  • A termék teljesítményének tesztelése.

A tesztelés típusait itt ismertetjük –

Egység tesztelése – A fejlesztők felelősek az egységtesztek elvégzéséért a kódfejlesztési szakaszban.

Integrációs tesztelés – Erre a tesztelésre a szoftvertermék különböző összetevőinek integrálása után van szükség. A fő cél az összes interfész zökkenőmentes működésének biztosítása.

Rendszer tesztelés – Ez egy részletes tesztelés, amelyet az integráció után kell elvégezni, hogy minden követelmény teljesüljön.

Felhasználói elfogadási tesztelés – Ez egyben egy részletes tesztelés is, amelyet a termék végfelhasználójának kell elvégeznie a minőség biztosítása érdekében.

Regressing tesztelés – Minden szoftverfejlesztés során biztosítani kell, hogy az alapvető üzleti folyamatok zökkenőmentesen működjenek.

A tesztautomatizálás előnyei:

  • Csökkentse a végrehajtási ciklust.
  • Kerülje el az emberi hibák lehetőségét.
  • Minimalizálja a tesztvégrehajtási erőfeszítéseket.
  • Gyors szoftver kiadás.
  • Növelje a tesztelési lefedettséget a kockázat csökkentése érdekében.
  • Párhuzamos végrehajtási képesség.

Miért a Bábos?

A Chrome böngészőben végrehajtott kézi műveletek többsége automatizálható a Puppeteer segítségével. Tehát a Puppeteer jó választás webalkalmazásokon végzett egységtesztelésekhez, gyors és egyszerűbb módon. 

A korlátozások A Puppeteer, mint automatizálási tesztelő eszköz:

  • Csak a Chrome és a Chromium böngészőt támogatja.
  • Coss-böngésző tesztelése nem lehetséges.
  • Mobil tesztelés nem végezhető el.

Fej nélküli Chrome tesztelés:

A fej nélküli böngésző azt jelenti, hogy a Puppeteer háttéralkalmazásként kölcsönhatásba lép egy króm böngészővel, ami azt jelenti, hogy a krómozott felhasználói felület nem látható a képernyőn. Tehát a fej nélküli króm tesztelés azt jelenti, hogy az automatizálási tesztelést egy rejtett böngészőben kell végrehajtani. Ezenkívül a fej nélküli króm teszt után a Puppeteer képes megfelelően rögzíteni a webképernyőt.

Bábjátékos vs szelén

Az alábbiakban bemutatjuk a Puppeteer és a Selenium, mint automatizálási tesztelő eszköz összehasonlítását -

  • Programozási nyelv támogatás - A Puppeteer csak a JavaScriptet támogatja, ahol a Selenium támogatja a Java, Python, Node.js és C# nyelveket.
  • Böngésző támogatás – A Puppeteer csak Chrome vagy Chromium böngészőhöz használható, de a Selenium támogatja a Chrome, Mozilla, Safari, IE, Opera böngészőket is.
  • Közösségi támogatás – A közösségi támogatás a Google Csoportokra, a GitHubra és a Stack Overflow for the Puppeteerre korlátozódik. A Selenium esetében azonban széles körű közösségi támogatás érhető el több fórumon keresztül.
  • végrehajtási sebesség - A Puppeteer forgatókönyv végrehajtása gyorsabb, mint a Selenium.
  • Telepítés és beállítás – A bábjáték telepítése és beállítása sokkal egyszerűbb és egyszerűbb folyamat.
  • Platformok közötti támogatás – A Puppeteer nem támogatja, a Selenium viszont igen.
  • Felvétel – A felvételi funkciók nem érhetők el a Puppeteer alkalmazásban. Ez a funkció azonban elérhető a Selenium IDE-hez.
  • Képernyőképek – A Puppeteer képes képernyőképet készíteni kép vagy pdf formátumban, ahol a Selenium csak képformátumot támogat.
  • Testing Platform Support – A Puppeteer csak a webböngészőket támogatja, de a Selenium képes automatizálni a webes és mobil Appiummal.
  • Kódolási készségek – Ez szükséges a Puppeteer Selenium Web illesztőprogramhoz, de nem a Selenium IDE-hez.

A fenti összehasonlítás alapján azt a következtetést vonhatjuk le, hogy a Puppeteer lesz a legjobb választás, ha egységszintű tesztelést kell végeznünk minden olyan webes alkalmazásnál, ahol gyors és rugalmas megoldásra van szükség. A másik eszköz, a Selenium lesz a jobb választás, ha mobilalkalmazásra és többplatformos alkalmazásra van szükség alkalmazás tesztelése. Kattints itt hogy megtanulja a szelént a LambdaGeekstől.

Következtetés:

Ebben a bevezető cikkben a Bábos bemutató, megismertük a Puppeteer Web Scraping és a Puppeteer Test Automation áttekintését. A következő Puppeteer cikkben megismerjük a Puppeteer telepítésének és egy kis szkript végrehajtásának lépésenkénti útmutatóját. kérem kattintson itt hogy látogassa meg a Bábos oktatóprogram referenciaportálját.

Írj hozzászólást