Selén

Bábkar VS Selén

Bábkar VS Selén
Dnes, pokiaľ ide o automatizované testovanie webu, sú to mená Puppeteer a Selenium. Jedným z hlavných dôvodov, prečo sú známe, je ich schopnosť spúšťať bezhlavé prehliadače. Preto predtým, ako pokračujeme v článku, poďme sa rýchlo pozrieť na to, čo sú bezhlavé prehliadače a aké sú ich výhody.

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:

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:

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

  1. Funguje dobre na vizuálne testovanie.
  2. Skvelé na testovanie typu end-to-end.
  3. Rýchly v porovnaní so selénom.
  4. Môže robiť screenshoty webových stránok.
  5. Väčšia kontrola nad testami prostredníctvom prehliadača Chrome.
  6. Môže testovať režim offline.

Zápory

  1. Podporuje iba JavaScript (uzol)
  2. 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.

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

  1. Podpora viacerých platforiem.
  2. Podpora viacerých jazykov.
  3. Schopnosť zaznamenávať testy.
  4. Môže tiež robiť snímky obrazovky.
  5. Obrovská komunita používateľov.

Zápory

  1. V porovnaní s Puppeteerom pomalé.
  2. 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.

Hry Top 5 kariet na zachytávanie hier
Top 5 kariet na zachytávanie hier
Všetci sme videli a milovali streamovanie hier na YouTube. PewDiePie, Jakesepticye a Markiplier sú iba niektorí z najlepších hráčov, ktorí zarobili mi...
Hry Ako vyvíjať hru v systéme Linux
Ako vyvíjať hru v systéme Linux
Pred desiatimi rokmi by len málo používateľov Linuxu predpovedalo, že ich obľúbený operačný systém bude jedného dňa populárnou hernou platformou pre k...
Hry Open source porty komerčných herných strojov
Open source porty komerčných herných strojov
Na hranie starých i niektorých z nedávnych herných titulov je možné využiť bezplatné hry s otvoreným zdrojom a multiplatformové herné enginy. V tomto ...