V bistvu so brezglavi brskalniki brskalniki, ki jih lahko uporabimo za preizkušanje uporabnosti spletnih strani in izvajanje interakcij med brskalniki, tako kot bi to storili z običajnim brskalnikom. Edina razlika je v tem, da ni grafičnega uporabniškega vmesnika (GUI) in se običajno izvajajo s terminala.
Brezglavi brskalniki:
- pomagajo močno zmanjšati porabo virov
- so hitrejši
- so idealni za strganje po spletu
- z njimi lahko spremljamo delovanje omrežnih aplikacij
Zdaj, ko poznamo glavni dejavnik obeh orodij, lahko nadaljujemo.
Lutkar
Puppeteer je Googlova knjižnica vozlišč, ki ponuja preprost API za nadzor brezglavega Chroma. Preko Puppeteerja lahko enostavno opravite pogosta opravila, kot so tipkanje vnosov, klikanje gumbov, preizkušanje uporabnosti spletnih strani in celo strganje po spletu.
Puppeteer je uradno iz skupine Chrome in uporablja protokol za oddaljeno odpravljanje napak Chrome, tako kot bi ugotovili pri Chrome Devtools. Ta knjižnica podpira sodobno sintakso JavaScript, ki je na voljo v brskalniku Google Chrome.
Nastaviti
Namestitev in začetek uporabe Puppeteerja je zelo enostaven. Ker je Puppeteer knjižnica vozlišč, jo je mogoče namestiti s pomočjo npm orodje.
Namestitev lahko izvedete s spodnjim ukazom:
npm i lutkarZagon zgornjega ukaza namesti Puppeteer. Prav tako naj bi prenesli najnovejšo različico Chromiuma, ki bi delovala z API-jem.
Velikost Chromiuma se razlikuje glede na operacijski sistem:
- ~ 170 MB za Mac
- ~ 282 MB za Linux
- ~ 280 MB za Windows
Po namestitvi Puppeteerja lahko izveste več informacij o tem, kako začeti, lahko pa si ogledate tudi več primerov kode.
Lastnosti
Čeprav je sposobnost Puppeteerja, da zažene brskalnik brez glave, ena od značilnosti, ki mu je prinesla nekaj slave, pa to ni edina lastnost, zaradi katere je super. Puppeteer ima tudi nekaj drugih funkcij, zaradi katerih je uporaben, na hitro si jih oglejmo.
Enostavna avtomatizacija:
Čeprav obstajajo druga orodja, ki jih je mogoče uporabiti za spletno avtomatizacijo, Puppeteer prihaja ven. To je posledica dejstva, da deluje dobro samo za en brskalnik, in sicer brezglavi brskalnik Chrome, zato naloge avtomatizacije spleta izvaja na najučinkovitejši možni način. Lutkar dobro deluje tudi s priljubljenimi knjižnicami za enotno testiranje, kot sta Mocha in Jasmine.
Preskušanje zaslona:
To je bistvena lastnost za vsako nalogo samodejnega spletnega testiranja. Posnetki zaslona so pomembni in pomagajo spremljati rezultate interakcij z elementi na spletni strani. V Puppeteerju obstajajo tudi knjižnice, kot je Puppeteer-screen-tester, ki omogoča primerjavo posnetkov zaslona, ustvarjenih med testiranjem. Poleg ustvarjanja posnetkov zaslona testov lahko datoteke PDF tudi ustvarimo na preizkušenih spletnih straneh v lutkarju.
Testiranje učinkovitosti:
Chrome ponuja orodja DevTools, ki omogočajo snemanje časovnega traku uspešnosti spletnih strani, Puppeteer pa tudi to izkorišča. Z Puppeteerjem je mogoče zajeti sledi spletnih mest na časovni premici, da se preučijo težave z zmogljivostjo. Zaradi Puppeteerjevega API-ja na visoki ravni nad protokolom Chrome Developers Tools Protocol omogoča uporabnikom nadzor nad serviserji in preizkušanje predpomnjenja spletnih mest.
Spletno strganje:
Pogovor o funkcijah ne bi bil zaključen, če ne bi priznali zmožnosti Puppeteerja, da se uporablja za spletno strganje. Učenje uporabe Puppeteerja kot spletnega strgala je zelo enostavno, poglejte v dokumentacijo API.
Prednosti
- Dobro deluje za vizualno testiranje.
- Odlično za testiranje od konca do konca.
- Hitro v primerjavi s selenom.
- Lahko posname posnetke zaslona spletnih strani.
- Več nadzora nad testiranjem prek Chroma.
- Lahko preizkusite način brez povezave.
Slabosti
- Podpira samo JavaScript (vozlišče)
- Podpira samo Chrome
Selen
Selen je zmogljiv okvir za spletno testiranje, ki omogoča avtomatizacijo spletnih aplikacij za namene testiranja. Selen je znan tudi po svoji zmožnosti avtomatizacije spletnih skrbniških nalog.
Selen je na voljo v dveh delih; Selenium WebDriver za ustvarjanje zmogljivih paketov za avtomatizacijo in testnih brskalnikov ter Selenium IDE za ustvarjanje skriptov za hitro reprodukcijo napak.
Ne pozabimo, da Selenium podpira tudi brezglave brskalnike, kot jih vidimo pri Puppeteerju.
Nastaviti
V nasprotju z Lutkarjem nastavitev selena ni enostavna. Selen podpira številne jezike in različne brskalnike, zato je treba poskrbeti za te možne pogoje.
Spodaj so navedene povezave do uradnih vadnic o nastavitvi vezav selena za različne jezike.
- C #
- Java
- JavaScript
- Python
- Ruby
Poleg tega, da podpira različne jezike, Selenium podpira tudi več brskalnikov. Za razliko od Puppeteerja, ki med namestitvijo namesti Chromium, boste morda morali namestiti spletne gonilnike za spletni brskalnik po vaši izbiri.
Tu so povezave do spletnih gonilnikov za Mozilla Firefox in Google Chrome.
Če želite uporabiti tudi selenium IDE, obstaja tudi za več brskalnikov. Tu so povezave do Selenium IDE za Mozilla Firefox in Google Chrome.
Lastnosti
Zaradi njegove zmožnosti za delo z brezglavimi brskalniki je bilo nedvomno najbolj priljubljeno orodje za spletno avtomatizacijo, obstajajo pa tudi druge funkcije, zaradi katerih je zmogljivo.
Večjezična podpora:
To je ena zelo pomembnih lastnosti selena. Z večjezično podporo lahko več razvijalcev uporablja orodje za svoje naloge preizkušanja spletne avtomatizacije. Čeprav se morda zdi, da bi njegova večjezična podpora delala počasi, Selenium še vedno deluje z dobro hitrostjo, saj zagon strežnika v spletnem gonilniku ni potreben.
Podpora za več platform:
Na enak način selena ne omejujejo jezikovne ovire, prav tako ga ne ovira platforma. Ni novica, da se spletne aplikacije na več platformah obnašajo drugače. Selen preskuševalcem omogoča preskušanje v večjih spletnih brskalnikih, da uporabnikom v različnih brskalnikih zagotovi nemoteno uporabniško izkušnjo. Poleg brskalnikov lahko selenium uporabljamo tudi za testiranje na mobilnih napravah, kot so Android, iOS, Windows, Blackberry.
Orodje za snemanje:
S selenium IDE je enostavno snemati teste avtomatizacije spletnih strani. Selenium IDE omogoča preizkuševalcem, da izkoristijo možnost snemanja ter podporo za samodokončanje in zmožnost krmarjenja po ukazih. Orodje za snemanje je prenehalo delovati v Firefoxu 55 in novejših različicah, vendar obstajajo tudi drugi vtičniki za Firefox, ki služijo istemu namenu. Zato je sposobnost snemanja testov še vedno glavna značilnost selena.
Spletno strganje:
Medtem ko se Selenium uporablja za preizkušanje spletnih aplikacij, se tudi dobro meri kot spletni strgalo. Selen lahko uporabite za strganje spletnih mest AJAX in najtežjih spletnih mest, če razumete strukturo HTML. Oglejte si to vadnico o uporabi selena za spletno strganje s Pythonom.
Prednosti
- Podpora za več platform.
- Večjezična podpora.
- Sposobnost snemanja testov.
- Lahko tudi posname posnetke zaslona.
- Ogromna skupnost uporabnikov.
Slabosti
- Počasi v primerjavi z Lutkarjem.
- Omejen nadzor nad testi v primerjavi z Lutkarjem.
Zaključek
Če vas ne moti preizkušanje spletnih strani na drugih platformah poleg Chroma, potem dobro sodelujete s Puppeteerjem, če lahko delate z JavaScriptom (Node). Če pa vas skrbi več platform, potem uporaba selena ni nič pametnega. Če govorimo o svojih zmožnostih strganja po spletu, sta obe orodji tudi sami. Vendar je treba opozoriti, da bi bil Lutkar lahko hitrejši od selena.
Vsako orodje, ki ga izberete na koncu dneva, mora biti v redu, samo uživajte v pisanju skriptov za avtomatizacijo.