Alapvetően a fej nélküli böngészők olyan böngészők, amelyek felhasználhatók a weboldalak használhatóságának tesztelésére és a böngésző interakcióinak végrehajtására, akárcsak a szokásos böngészővel. Az egyetlen különbség itt az, hogy nincs grafikus felhasználói felület (GUI), és ezeket általában a terminálról hajtják végre.
Fej nélküli böngészők:
- nagymértékben csökkentheti az erőforrás-felhasználást
- gyorsabbak
- ideálisak webes kaparási célokra
- felhasználhatók a hálózati alkalmazások teljesítményének figyelemmel kísérésére
Most, hogy mindkét eszközről ismertünk egy fő tényezőt, folytathatjuk.
Bábjátékos
A Puppeteer a Google csomópontkönyvtára, amely egyszerű API-t biztosít a fej nélküli Chrome vezérléséhez. A Puppeteer-en keresztül olyan általános feladatok, mint a bemenetek beírása, a gombokra kattintás, a weboldalak használhatóságának tesztelése és akár a webes lehúzás is könnyen elvégezhetők.
A Puppeteer a Chrome csapat hivatalos tagja, és a Chrome távoli hibakeresési protokollt használja, ugyanúgy, mint a Chrome Devtools esetében. Ez a könyvtár támogatja a Google Chrome-ban elérhető modern JavaScript-szintaxist.
Beállít
A Puppeteer telepítése és az első lépések nagyon egyszerűek. Mivel a Puppeteer egy Node könyvtár, a npm eszköz.
A telepítés az alábbi paranccsal hajtható végre:
npm i bábosA fenti parancs futtatásával települ a Puppeteer. Várhatóan letölti a Chromium legújabb verzióját is, amely működne az API-val.
A Chromium mérete az operációs rendszertől függően változik:
- ~ 170 MB Mac-hez
- ~ 282 MB Linux rendszerhez
- ~ 280 MB Windows rendszerhez
A Puppeteer telepítése után további információkat talál az induláshoz, valamint további kódpéldákat is megnézhet.
Jellemzők
Míg a Puppeteer egy fej nélküli böngésző elindításának képessége az egyik olyan tulajdonság, amely hírnevet szerzett neki, nem ez az egyetlen funkció, amely félelmetesvé teszi. A Puppeteer-nek van még néhány más funkciója, amely hasznossá teszi, vessünk egy pillantást néhányukra.
Könnyű automatizálás:
Míg más eszközök is használhatók a webes automatizáláshoz, a Puppeteer csúcsra kerül. Ez annak a ténynek köszönhető, hogy csak egy böngésző esetén működik jól, ez a Headless Chrome böngésző, ezért a lehető leghatékonyabban végzi a web-automatizálási feladatokat. A Puppeteer kiválóan működik olyan népszerű egységtesztkönyvtárakkal is, mint a Mocha és a Jasmine.
Pillanatkép tesztelése:
Ez alapvető fontosságú minden automatizált webes tesztelési feladatnál. A képernyőképek fontosak, és segítenek nyomon követni a weboldal elemeivel való interakciók eredményeit. Az olyan könyvtárak, mint a Puppeteer-screenshot-tester is léteznek a Puppeteer-ben, amelyek képesek összehasonlítani a tesztelés közben létrehozott képernyőképeket. A tesztek képernyőképeinek előállítása mellett a PDF fájlokat a bábjátékos tesztelt weblapjairól is elő lehet állítani.
Teljesítményfelmérés:
A Chrome olyan DevToolokat kínál, amelyek lehetővé teszik a weboldalak teljesítmény-idővonalának rögzítését, és ezt a Puppeteer is kihasználja. A Puppeteer segítségével a webhelyek idővonalának nyomai rögzíthetők a teljesítményproblémák vizsgálatához. A Puppeteer magas szintű API-vezérlése a Chrome Developers Tools Protocol felett lehetővé teszi a felhasználók számára, hogy irányítsák a kiszolgáló munkatársakat és teszteljék a weboldalak gyorsítótárát.
Webes adatgyűjtés:
A funkciókról szóló beszélgetés nem fejeződik be, ha nem ismerjük el a Puppeteer képességét a web lekaparási célokra. A Puppeteer webkaparóként való használatának elsajátítása meglehetősen egyszerű, vessen egy pillantást az API dokumentációjára.
Előnyök
- Remekül működik a vizuális teszteléshez.
- Nagyszerű a végpontok közötti teszteléshez.
- Gyors a szelénhez képest.
- Készíthet képernyőképeket a weboldalakról.
- További ellenőrzés a tesztek felett a Chrome-on keresztül.
- Tesztelheti offline módot.
Hátrányok
- Csak a JavaScript-et (csomópont) támogatja
- Csak a Chrome-ot támogatja
Szelén
A szelén egy erőteljes webes tesztelési keretrendszer, amely képes webes alkalmazásokat automatizálni tesztelési célokra. A szelén a webalapú adminisztrációs feladatok automatizálásának képességéről is ismert.
A szelén két részből áll; a Selenium WebDriver az erőteljes, böngészőalapú automatizálási csomagok és tesztek létrehozásához, valamint a Selenium IDE a gyors hibajavító szkriptek létrehozásához.
Nem megfeledkezve arról, hogy a Selenium a fejetlen böngészőket is támogatja, ahogyan azt a Puppeteer esetében is látjuk.
Beállít
A Puppeteer-től eltérően a szelén beállítása nem egyszerű. A szelén számos nyelvet és különböző böngészőket támogat, ezért ezekre a lehetséges feltételekre ügyelni kell.
Az alábbiakban felsoroljuk a hivatalos nyelvű útmutatásokat, amelyek a szelénkötések különböző nyelvekre történő beállításáról szólnak.
- C #
- Jáva
- JavaScript
- Piton
- Rubin
A különböző nyelvek támogatásán kívül a Selenium több böngészőt is támogat. Ellentétben a Puppeteer-rel, amely telepíti a Chromiumot a telepítés során, előfordulhat, hogy webes illesztőprogramokat kell telepítenie a választott webböngészőhöz.
Itt találhatók linkek a Mozilla Firefox és a Google Chrome webes illesztőprogramjaihoz.
Ha a Selenium IDE-t is használni szeretné, akkor több böngésző számára is létezik. Itt találhatók a Mozilla Firefox és a Google Chrome Selenium IDE hivatkozásai.
Jellemzők
A fej nélküli böngészőkkel való együttműködés képessége vitathatatlanul a legnépszerűbb web-automatizálási eszközzé tette, de vannak más funkciók is, amelyek erőteljesé teszik.
Többnyelvű támogatás:
Ez az egyik nagyon fontos szelén tulajdonság. Többnyelvű támogatásával több fejlesztő használhatja az eszközt webautomatizálási tesztelési feladataihoz. Bár azt gondolhatjuk, hogy többnyelvű támogatása lassabbá tenné, a Selenium még mindig jó sebességgel fut, mivel nem szükséges a szerver elindítása a Web Driver-ben.
Többplatformos támogatás:
Ugyanúgy, ahogy a szelént sem korlátozzák a nyelvi korlátok, nem korlátozza a platform-korlát sem. Nem újdonság, hogy a webalkalmazások különböző platformokon eltérő módon viselkednek. A szelén a tesztelők számára lehetővé teszi a tesztelést a főbb böngészőkön keresztül, hogy zökkenőmentes felhasználói élményt nyújtson a felhasználók számára a különböző böngészőkben. A böngészők mellett a Selenium mobilon is tesztelhető, például Android, iOS, Windows, Blackberry alkalmazásokkal.
Felvételi eszköz:
A Selenium IDE segítségével egyszerűen rögzíthetők a webautomatizálási tesztek. A Selenium IDE lehetővé teszi a tesztelők számára, hogy kihasználják a felvételi képességet, az automatikus kiegészítést és a parancsokban történő navigálást. A Felvételi eszköz leállt a Firefox 55 és újabb verzióin, azonban a Firefoxon vannak más, ugyanezt a célt szolgáló bővítmények. Ezért a tesztek rögzítésének képessége továbbra is a szelén egyik fő jellemzője.
Webes adatgyűjtés:
Míg a szelént webalkalmazások tesztelésére használják, webes kaparóként is jól méretez. A szelén felhasználható az AJAX webhelyek és a legnehezebben lekaparható webhelyek feltöltésére, feltéve, hogy megérti a HTML struktúrát. Megtekintheti ezt az oktatóanyagot a Selenium webes használatához a Python használatával történő használatáról.
Előnyök
- Többplatformos támogatás.
- Többnyelvű támogatás.
- Képesség a tesztek rögzítésére.
- Készíthet képernyőképeket is.
- Hatalmas felhasználói közösség.
Hátrányok
- Lassú a Puppeteerhez képest.
- Korlátozott kontroll a tesztek felett, összehasonlítva a Puppeteer-rel.
Következtetés
Ha nem zavarja a weboldalak más platformokon történő tesztelése, a Chrome-on kívül, akkor jól működik a Puppeteer, feltéve, hogy képes a JavaScript (Node) használatára. Ha azonban több platform miatt aggódik, akkor a Selenium használata nem gond. Ha webes kaparó képességeikről beszélünk, mindkét eszköz önmagát is odakinn látja. Meg kell azonban jegyezni, hogy a Puppeteer gyorsabb lehet, mint a szelén.
A nap végén választott eszközöknek rendben kell lenniük, csak élvezze az automatizálási szkriptek írását.