V základných pojmoch sú bezhlavé prehliadače prehľadávače, ktoré sa dajú použiť na testovanie použiteľnosti webových stránok a na vykonávanie interakcií s prehliadačom, ako by to bolo vo vašom bežnom prehliadači. Jediný rozdiel je v tom, že tu nie je grafické užívateľské rozhranie (GUI) a zvyčajne sa vykonávajú z terminálu.
Bezhlavé prehliadače:
- pomôže výrazne znížiť využitie zdrojov
- sú rýchlejší
- sú ideálne na účely škrabania webu
- dajú sa použiť na sledovanie výkonu sieťových aplikácií
Teraz, keď sme poznali hlavný faktor pre oba nástroje, môžeme pokračovať.
Kukláč
Puppeteer je knižnica uzlov od spoločnosti Google, ktorá poskytuje jednoduché API na ovládanie bezhlavého prehliadača Chrome. Prostredníctvom Puppeteer možno ľahko vykonávať bežné úlohy, ako je písanie vstupov, klikanie na tlačidlá, testovanie použiteľnosti webových stránok alebo dokonca scraping z webu.
Puppeteer je oficiálny tím tímu Chrome a používa Chrome Remote Debug Protocol, rovnako ako by sme to našli pri Chrome Devtools. Táto knižnica podporuje modernú syntax JavaScript, ktorá je k dispozícii v prehliadači Google Chrome.
Nastaviť
Inštalácia a začatie používania aplikácie Puppeteer je veľmi jednoduché. Pretože Puppeteer je knižnica uzlov, je možné ho nainštalovať pomocou npm nástroj.
Inštaláciu je možné vykonať pomocou nižšie uvedeného príkazu:
npm i kukláčSpustením vyššie uvedeného príkazu sa nainštaluje Puppeteer. Očakáva sa tiež stiahnutie najnovšej verzie Chromia, ktorá by fungovala s rozhraním API.
Veľkosť Chromu sa líši podľa operačného systému:
- ~ 170 MB pre Mac
- ~ 282 MB pre systém Linux
- ~ 280 MB pre Windows
Po inštalácii aplikácie Puppeteer sa dozviete viac informácií o tom, ako začať, rovnako si môžete pozrieť ďalšie príklady kódov.
Vlastnosti
Aj keď je schopnosť Puppeteera spustiť bezhlavý prehliadač jednou z funkcií, ktorá mu získala určitú slávu, nie je to jediná funkcia, ktorá ho robí úžasným. Puppeteer má tiež niekoľko ďalších funkcií, ktoré ho robia užitočným, poďme sa rýchlo pozrieť na niektoré z nich.
Jednoduchá automatizácia:
Aj keď existujú ďalšie nástroje, ktoré sa dajú použiť na automatizáciu webu, Puppeteer vychádza z ponuky. Je to tak kvôli skutočnosti, že funguje dobre iba pre jeden prehliadač, ktorým je prehliadač Headless Chrome, a preto vykonáva úlohy automatizácie webu čo najefektívnejším spôsobom. Puppeteer tiež dobre funguje s populárnymi knižnicami na testovanie jednotiek, ako sú Mocha a Jasmine.
Testovanie snímok obrazovky:
Toto je dôležitá funkcia pre každú úlohu automatizovaného testovania webu. Screenshoty sú dôležité a pomáhajú sledovať výsledky interakcií s prvkami na webovej stránke. Knižnice ako Puppeteer-screenshot-tester existujú aj v Puppeteer, ktorý poskytuje možnosť porovnania snímok obrazovky vygenerovaných počas testovania. Okrem generovania snímok obrazovky s testami je možné súbory PDF generovať aj z testovaných webových stránok v kukláči.
Testovanie výkonu:
Chrome poskytuje nástroje DevTools, ktoré umožňujú zaznamenávanie časovej osi výkonu webových stránok a Puppeteer to tiež využíva. S programom Puppeteer je možné zachytiť stopy časovej osi webových stránok, aby sa preskúmali problémy s výkonom. Vzhľadom na to, že Puppeteer ovláda API na vysokej úrovni nad protokolom Chrome Developers Tools Protocol, dáva používateľom možnosť ovládať pracovníkov služieb a testovať ukladanie webových stránok do pamäte cache.
Škrabanie webu:
Diskusia o funkciách by nebola dokončená bez uznania možnosti aplikácie Puppeteer použiť na účely škrabania webu. Naučiť sa používať Puppeteer ako webovú škrabku je celkom jednoduché, pozrite si dokumentáciu API.
Pros
- Funguje dobre na vizuálne testovanie.
- Skvelé na testovanie typu end-to-end.
- Rýchly v porovnaní so selénom.
- Môže robiť screenshoty webových stránok.
- Väčšia kontrola nad testami prostredníctvom prehliadača Chrome.
- Môže testovať režim offline.
Zápory
- Podporuje iba JavaScript (uzol)
- Podporuje iba Chrome
Selén
Selén je výkonný rámec na testovanie webu, ktorý je schopný automatizovať webové aplikácie na účely testovania. Selén je tiež známy svojou schopnosťou automatizovať úlohy správy na webe.
Selén má dve časti; Selenium WebDriver na vytváranie výkonných automatizačných balíkov a testov založených na prehliadači a Selenium IDE na vytváranie skriptov na rýchlu reprodukciu chýb.
Nezabudnite, že selén podporuje aj bezhlavé prehliadače, ako je to vidieť v hre Puppeteer.
Nastaviť
Na rozdiel od hry Puppeteer nie je nastavenie selénu jednoduché. Selén podporuje veľa jazykov a rôznych prehľadávačov, preto je potrebné sa o tieto možné podmienky postarať.
Nižšie sú uvedené odkazy na oficiálne výukové programy, ako nastaviť väzby selénu pre rôzne jazyky.
- C #
- Java
- JavaScript
- Python
- Ruby
Okrem podpory rôznych jazykov podporuje selén aj viac prehliadačov. Na rozdiel od aplikácie Puppeteer, ktorá nainštaluje Chromium počas inštalácie, možno budete musieť nainštalovať webové ovládače pre webový prehľadávač podľa vášho výberu.
Tu sú odkazy na webové ovládače pre Mozilla Firefox a Google Chrome.
Ak chcete použiť aj selénový IDE, existuje tiež pre viac prehľadávačov. Tu sú odkazy na selén IDE pre Mozilla Firefox a Google Chrome.
Vlastnosti
Vďaka svojej schopnosti pracovať s bezhlavými prehliadačmi sa z neho nepochybne stal najpopulárnejší nástroj na automatizáciu webu, ale vďaka jeho výkonu sú aj ďalšie.
Podpora viacerých jazykov:
Toto je jedna veľmi dôležitá vlastnosť selénu. Vďaka viacjazyčnej podpore môže viac vývojárov používať tento nástroj na svoje úlohy testovania automatizácie webu. Aj keď si niekto môže myslieť, že jeho viacjazyčná podpora by to spomalila, selén stále beží dobrou rýchlosťou, pretože nie je potrebné spustenie servera vo webovom ovládači.
Podpora viacerých platforiem:
Rovnakým spôsobom nie je selén obmedzený jazykovými bariérami, nie je obmedzený ani bariérou na platforme. Nie je žiadnou novinkou, že sa webové aplikácie na rôznych platformách správajú odlišne. Selén dáva testerom možnosť testovať na hlavných webových prehliadačoch, aby používateľom v rôznych prehliadačoch poskytli plynulý používateľský zážitok. Okrem prehliadačov je možné Selenium tiež použiť na testovanie na mobilných zariadeniach, ako sú aplikácie pre Android, iOS, Windows a Blackberry.
Nahrávací nástroj:
So Selenium IDE je ľahké zaznamenávať testy automatizácie webu. Selénové IDE umožňuje testerom využívať možnosti nahrávania, podporu automatického dokončovania a schopnosť navigovať v príkazoch. Nahrávací nástroj prestal fungovať vo Firefoxe 55 a novších verziách, vo Firefoxe však existujú aj ďalšie doplnky, ktoré slúžia na ten istý účel. Preto schopnosť zaznamenávať testy zostáva hlavnou selénovou funkciou.
Škrabanie webu:
Zatiaľ čo selén sa používa na testovanie webových aplikácií, je rovnako dobre škálovateľný ako webová škrabka. Selén možno použiť na škrabanie webových stránok AJAX a najťažšie škrabateľných webových stránok za predpokladu, že rozumiete štruktúre HTML. Môžete sa pozrieť na tento návod, ako používať selén na škrabanie webov pomocou Pythonu.
Pros
- Podpora viacerých platforiem.
- Podpora viacerých jazykov.
- Schopnosť zaznamenávať testy.
- Môže tiež robiť snímky obrazovky.
- Obrovská komunita používateľov.
Zápory
- V porovnaní s Puppeteerom pomalé.
- V porovnaní s Puppeteerom obmedzená kontrola nad testami.
Záver
Ak vás testovanie webových stránok na iných platformách okrem prehliadača Chrome neobťažuje, potom s Puppeteer pracujete v pohode, ak viete pracovať s JavaScriptom (uzol). Ak vám však záleží na viacerých platformách, potom je využitie selénu samozrejmosťou. Keď hovoríme o svojich schopnostiach zoškrabávania webu, existujú oba nástroje dokonca aj oni sami. Je potrebné poznamenať, že Puppeteer mohol byť rýchlejší ako selén.
Akýkoľvek nástroj, ktorý si na konci dňa vyberiete, by mal byť v poriadku, stačí si užiť písanie automatizačných skriptov.