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.
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.
Szia, K. Mondal vagyok, egy vezető szervezet tagja vagyok. Több mint 12 éves tapasztalattal rendelkezem olyan területeken, mint például alkalmazásfejlesztés, automatizálási tesztelés, informatikai tanácsadó. Nagyon érdekel a különböző technológiák elsajátítása. Azért vagyok itt, hogy megvalósítsam a törekvésemet, és jelenleg szerzőként és webhelyfejlesztőként dolgozom a LambdaGeeksben.
Csatlakozzunk a LinkedIn-en keresztül