Selenium

Lutkar protiv selena

Lutkar protiv selena
Danas kada je riječ o automatiziranom web testiranju, Lutkar i Selen su dva imena koja se pojavljuju. Jedan od glavnih razloga zašto su poznati su njihova sposobnost izvršavanja bezglavih preglednika. Stoga, prije nego što nastavimo s člankom, hajde da na brzinu pogledamo što su bezglavi preglednici i njihove prednosti.

U osnovnim pojmovima, bezglavi preglednici su preglednici koji se mogu koristiti za testiranje upotrebljivosti web stranica i izvršavanje interakcija preglednika baš kao što biste to učinili sa svojim uobičajenim preglednikom. Jedina razlika ovdje je u tome što ne postoji grafičko korisničko sučelje (GUI) i oni se obično izvršavaju s terminala.

Preglednici bez glave:

Sad kad znamo glavni čimbenik za oba alata, možemo nastaviti.

Lutkar

Puppeteer je Googleova Node knjižnica koja pruža jednostavan API za kontrolu bezglavog Chromea. Putem Puppeteera mogu se lako izvršiti uobičajeni zadaci kao što su upisivanje unosa, klikanje gumba, testiranje upotrebljivosti web stranica, pa čak i struganje weba.

Puppeteer je službeni od Chrome tima i koristi Chrome Remote Debug Protocol, baš kao što bismo pronašli i kod Chrome Devtools. Ova knjižnica podržava modernu JavaScript sintaksu dostupnu u Google Chromeu.

Postaviti

Instalacija i početak rada s Puppeteerom vrlo je jednostavan. Budući da je Puppeteer Node knjižnica, može se instalirati pomoću npm alat.

Instalacija se može izvršiti pomoću naredbe u nastavku:

npm i lutkar

Izvođenjem gornje naredbe instalira se Puppeteer. Očekuje se i preuzimanje najnovije verzije Chromiuma koja bi radila s API-jem.

Veličina Chromiuma varira ovisno o operativnom sustavu:

Nakon instalacije Puppeteera, možete saznati više informacija o tome kako započeti, a možete pogledati i više primjera koda.

Značajke

Iako je Puppeteerova sposobnost pokretanja preglednika bez glave jedna značajka koja mu je stekla neku slavu, to nije jedina značajka koja ga čini izvrsnim. Lutkar ima i nekoliko drugih značajki koje ga čine korisnima, pogledajmo na brzinu neke od njih.

Jednostavna automatizacija:

Iako postoje i drugi alati koji se mogu koristiti za web automatizaciju, Puppeteer izlazi na vrh. To je zbog činjenice da dobro funkcionira samo za jedan preglednik, a to je bezglavi preglednik Chrome, stoga na najučinkovitiji mogući način izvršava zadatke automatizacije weba. Lutkar također dobro surađuje s popularnim bibliotekama za jedinstveno testiranje kao što su Mocha i Jasmine.

Testiranje snimke zaslona:

Ovo je vitalna značajka za bilo koji zadatak automatiziranog web testiranja. Snimke zaslona su važne i pomažu u praćenju rezultata interakcija s elementima na web stranici. Biblioteke poput Puppeteer-screen-tester također postoje u Puppeteer-u koje pruža mogućnost usporedbe snimki zaslona generiranih tijekom testiranja. Osim generiranja snimaka zaslona testova, PDF-ovi se također mogu generirati od testiranih web stranica u lutkarstvu.

Ispitivanje performansi:

Chrome nudi DevTools koji omogućuju snimanje vremenske trake izvedbe web stranica, a to koristi i Puppeteer. Pomoću Puppeteera mogu se uhvatiti vremenski tragovi web stranica radi ispitivanja problema s izvedbom. Zahvaljujući Puppeteerovoj API kontroli na visokoj razini nad protokolom Chrome Developers Tools protokola, korisnicima daje mogućnost kontrole uslužnih radnika i testiranje predmemoriranja web stranica.

Web struganje:

Razgovor o značajkama ne bi bio završen bez priznavanja mogućnosti Puppeteera da se koristi za mrežno struganje. Naučiti koristiti Puppeteer kao mrežno strugalo prilično je jednostavno, pogledajte API dokumentaciju.

Pros

  1. Dobro funkcionira za vizualno testiranje.
  2. Izvrsno za testiranje od kraja do kraja.
  3. Brz u usporedbi sa selenom.
  4. Može snimati snimke zaslona web stranica.
  5. Više kontrole nad testovima putem Chromea.
  6. Može testirati izvanmrežni način.

Protiv

  1. Podržava samo JavaScript (čvor)
  2. Podržava samo Chrome

Selen

Selenium je moćan okvir za web testiranje koji ima mogućnost automatizacije web aplikacija u svrhu testiranja. Selen je također poznat po svojoj sposobnosti automatizacije web administrativnih zadataka.

Selen dolazi u dva dijela; Selenium WebDriver za stvaranje moćnih automatiziranih apartmana i testova temeljenih na pregledniku i Selenium IDE za stvaranje skripti za brzu reprodukciju grešaka.

Ne zaboravljajući da Selenium također podržava preglednike bez glave kao što se vidi kod Puppeteera.

Postaviti

Za razliku od Puppeteera, postavljanje selena nije jednostavno. Selen podržava mnoge jezike i različite preglednike, stoga treba voditi računa o tim mogućim uvjetima.

Dolje su navedene veze do službenih vodiča o postavljanju selenskih veza za različite jezike.

Osim što podržava različite jezike, Selenium podržava i više preglednika. Za razliku od Puppeteera koji tijekom instalacije instalira Chromium, možda ćete morati instalirati web upravljačke programe za web preglednik po vašem izboru.

Ovdje su veze do web upravljačkih programa za Mozilla Firefox i Google Chrome.

Ako želite koristiti i selenium IDE, on također postoji za više preglednika. Ovdje su veze do Selenium IDE za Mozilla Firefox i Google Chrome.

Značajke

Sposobnost rada s bezglavim preglednicima učinila ga je nedvojbeno najpopularnijim alatom za automatizaciju weba, ali postoje i druge značajke koje ga čine moćnim.

Višejezična podrška:

Ovo je jedna vrlo važna značajka selena. Zahvaljujući višejezičnoj podršci, više programera može koristiti alat za svoje zadatke testiranja automatizacije weba.  Iako se može pomisliti da bi ga podrška za više jezika usporila, Selenium i dalje radi dobrom brzinom jer pokretanje poslužitelja u web upravljačkom programu nije potrebno.

Podrška za više platformi:

Na isti način na koji selenij nije ograničen jezičnim barijerama, također nije ograničen platformama. Nije novost da se web aplikacije različito ponašaju na više platformi. Selen pruža testerima mogućnost testiranja u glavnim web preglednicima kako bi korisnicima pružio nesmetano korisničko iskustvo u različitim preglednicima.  Pored preglednika, Selenium se također može koristiti za testiranje na mobilnim uređajima kao što su Android, iOS, Windows, Blackberry aplikacije.

Alat za snimanje:

Pomoću Selenium IDE-a lako je snimati testove automatizacije weba. Selenium IDE omogućuje testerima da koriste mogućnost snimanja, kao i podršku za samodovršavanje i sposobnost navigacije naredbama. Alat za snimanje prestao je raditi na Firefoxu 55 i novijim verzijama, međutim postoje i drugi dodaci na Firefoxu koji imaju istu svrhu. Stoga sposobnost snimanja testova ostaje glavna selenijska značajka.

Web struganje:

Iako se Selenium koristi za testiranje web aplikacija, također se dobro skalira kao mrežni strugač. Selen se može koristiti za struganje AJAX web stranica i najteže web stranice za struganje, pod uvjetom da razumijete HTML strukturu. Možete pogledati ovaj vodič o korištenju Selenium-a za struganje weba s Pythonom.

Pros

  1. Podrška za više platformi.
  2. Višejezična podrška.
  3. Sposobnost snimanja testova.
  4. Može napraviti i snimke zaslona.
  5. Ogromna zajednica korisnika.

Protiv

  1. Sporo u usporedbi s Lutkarom.
  2. Ograničena kontrola nad testovima u usporedbi s Puppeteerom.

Zaključak

Ako vas ne muči testiranje web stranica na drugim platformama osim Chromea, onda ste u dobrom radu s Puppeteerom, pod uvjetom da možete raditi s JavaScriptom (Node). Međutim, ako ste zabrinuti zbog više platformi, tada korištenje Selena nije nimalo pametno. Govoreći o njihovim mogućnostima struganja s weba, oba alata čak i sami postoje. Treba napomenuti da bi Lutkar mogao biti brži od selena.

Bilo koji alat koji odaberete na kraju dana trebao bi biti u redu, samo uživajte u pisanju svojih skripti za automatizaciju.

Vodič za OpenTTD
OpenTTD je jedna od najpopularnijih igara za poslovnu simulaciju. U ovoj igri morate stvoriti prekrasan prijevoznički posao. Međutim, počet ćete u poč...
SuperTuxKart za Linux
SuperTuxKart sjajan je naslov osmišljen kako bi vam besplatno pružio iskustvo Mario Kart na vašem Linux sustavu. Prilično je izazovno i zabavno igrati...
Vodič za bitku za Wesnoth
Bitka za Wesnoth jedna je od najpopularnijih strateških igara otvorenog koda koje trenutno možete igrati. Ne samo da se ova igra razvija već jako dugo...