Selenium

Nukupidaja VS seleen

Nukupidaja VS seleen
Täna, mis puudutab automatiseeritud veebitestimist, on kaks nime Puppeteer ja Selenium. Üks peamisi põhjuseid, miks nad on tuntud, on nende võime käivitada peata brausereid. Seetõttu vaatame enne artikli jätkamist kiirelt, mis on peata brauserid ja nende eelised.

Põhimõtteliselt on peata brauserid brauserid, mida saab kasutada veebilehtede kasutatavuse testimiseks ja brauseriga interaktsioonide teostamiseks täpselt nagu teie tavalise brauseriga. Ainus erinevus on see, et puudub graafiline kasutajaliides (GUI) ja need käivitatakse tavaliselt terminalist.

Peata brauserid:

Nüüd, kui oleme mõlema tööriista jaoks olulise teguri teada, saame jätkata.

Nukupidaja

Puppeteer on Google'i sõlmekogu, mis pakub peata Chrome'i juhtimiseks lihtsat API-d. Puppeteeri kaudu saab hõlpsasti läbi viia selliseid tavalisi ülesandeid nagu sisendite sisestamine, nuppudel klõpsamine, veebilehtede kasutatavuse testimine ja isegi veebi kraapimine.

Nukupidaja on Chrome'i tiimi ametnik ja kasutab Chrome'i kaugjälgimisprotokolli, täpselt nagu Chrome'i Devtoolsiga leiame. See teek toetab kaasaegset JavaScripti süntaksit, mis on saadaval Google Chrome'is.

Seadistamine

Puppeteeri installimine ja sellega alustamine on väga lihtne. Kuna Puppeteer on sõlmekogu, saab selle installida npm tööriist.

Installimise saab teha järgmise käsuga:

npm i nukunäitleja

Ülaltoodud käsu käivitamine installib Puppeteeri. Eeldatakse, et laaditakse alla ka uusim Chromiumi versioon, mis töötaks API-ga.

Kroomi suurus varieerub sõltuvalt operatsioonisüsteemist:

Pärast Puppeteeri installimist saate lisateavet selle kohta, kuidas alustada, samuti saate vaadata rohkem koodinäiteid.

Funktsioonid

Ehkki nukutöötleja võime käivitada peata brauser on üks funktsioon, mis on sellele kuulsust kogunud, pole see ainus funktsioon, mis muudab selle vinge. Puppeteeril on ka paar muud funktsiooni, mis muudavad selle kasulikuks, vaatame mõnda neist kiiresti.

Lihtne automatiseerimine:

Kui veebiautomaatika jaoks on ka teisi tööriistu, siis Puppeteer tuleb tippu. Selle põhjuseks on asjaolu, et see töötab hästi ainult ühe brauseri jaoks, mis on Chrome'i brauser Headless, seetõttu täidab see veebiautomaatika ülesandeid võimalikult tõhusalt. Nukupidaja töötab suurepäraselt ka populaarsete üksuste testimisraamatukogudega nagu Mocha ja Jasmine.

Ekraanipildi testimine:

See on kõigi automatiseeritud veebitestimise ülesannete jaoks oluline funktsioon. Ekraanipildid on olulised ja aitavad jälgida veebilehe elementidega suhtlemise tulemusi. Puppeteeris on olemas ka sellised raamatukogud nagu Puppeteer-screenshot-tester, mis võimaldab testimisel loodud ekraanipilte võrrelda. Lisaks testide ekraanipiltide genereerimisele saab PDF-faile luua ka nukuteatri testitud veebilehtedelt.

Jõudluse testimine:

Chrome pakub DevToolsi, mis võimaldab veebilehtede jõudluse ajaskaala salvestamist ja ka Puppeteer kasutab seda ära. Puppeteeriga saab jõudlusprobleemide uurimiseks jäädvustada veebisaitide ajaskaala jälgi. Tänu kutsikate kõrgetasemelisele API juhtimisele Chrome'i arendajate tööriistade protokolli üle, annab see kasutajatele võimaluse kontrollida teenindustöötajaid ja testida veebisaitide vahemällu salvestamist.

Veebi kraapimine:

Jutt funktsioonidest ei jõuaks lõpule, kui ei tunnustataks Puppeteeri võimalust veebi kraapimiseks kasutada. Puppeteeri veebikaabitsana kasutamise õppimine on üsna lihtne, vaadake API dokumentatsiooni.

Plussid

  1. Töötab hästi visuaalse testimise jaoks.
  2. Suurepärane lõpptestimiseks.
  3. Kiire võrreldes seleeniga.
  4. Oskab teha veebilehtedelt ekraanipilte.
  5. Rohkem kontrolli testide üle Chrome'i kaudu.
  6. Saab testida võrguühenduseta režiimi.

Miinused

  1. Toetab ainult JavaScripti (sõlm)
  2. Toetab ainult Chrome'i

Seleen

Seleen on võimas veebitestimise raamistik, mis võimaldab testimise eesmärgil veebirakendusi automatiseerida. Seleen on tuntud ka võime tõttu veebipõhiste haldusülesannete automatiseerimisel.

Seleen on kahes osas; Selenium WebDriver võimsate, brauseripõhiste automaatikakomplektide ja testide loomiseks ning Selenium IDE kiirete veaparanduskriptide loomiseks.

Unustamata, et Selenium toetab ka peata brausereid, nagu Puppeteeril näha.

Seadistamine

Erinevalt Puppeteerist ei ole seleeni seadistamine lihtne. Seleen toetab paljusid keeli ja erinevaid brausereid, seetõttu tuleb nende võimalike tingimuste eest hoolt kanda.

Allpool on toodud lingid ametlikele õpetustele selle kohta, kuidas seleeni köiteid erinevatele keeltele seadistada.

Peale erinevate keelte toetamise toetab Selenium ka mitut brauserit. Erinevalt Puppeteerist, kes installib Chromiumi installimise ajal, peate võib-olla oma valitud veebibrauseri jaoks installima veebidraiverid.

Siin on lingid Mozilla Firefoxi ja Google Chrome'i veebidraiveritele.

Kui soovite kasutada ka Selenium IDE-d, on see olemas ka mitme brauseri jaoks. Siin on lingid Mozilla Firefoxi ja Google Chrome'i jaoks mõeldud Selenium IDE-le.

Funktsioonid

See võime töötada peata brauseritega on teinud vaieldamatult kõige populaarsema veebiautomaatika tööriista, kuid on ka muid funktsioone, mis muudavad selle võimsaks.

Mitmekeelne tugi:

See on üks väga oluline seleeni omadus. Mitmekeelse toe abil saavad rohkem arendajaid tööriista oma veebiautomaatika testimise ülesannetes kasutada.  Ehkki võib arvata, et selle mitmekeelne tugi muudab selle aeglaseks, töötab Selenium endiselt hea kiirusega, kuna serveri käivitamine veebidraiveris pole vajalik.

Mitme platvormi tugi:

Samamoodi ei piira seleeni keelebarjäärid, seda ei piira ka platvormbarjäär. Pole uudis, et veebirakendused käituvad mitmel platvormil erinevalt. Seleen annab testijatele võimaluse testida suuremates veebibrauserites, et pakkuda sujuvat kasutuskogemust erinevate brauserite kasutajatele.  Peale brauserite saab seleeni testimiseks kasutada ka mobiilseadmetes, näiteks Androidi, iOSi, Windowsi, Blackberry rakendustes.

Salvestamise tööriist:

Selenium IDE abil on veebiautomaatika testide salvestamine lihtne. Selenium IDE võimaldab testijatel kasutada nii salvestamise kui ka automaatse täitmise tuge ja käskudes navigeerimise võimalust. Salvestustööriist on Firefox 55 ja uuemate versioonidega töötamise lõpetanud, kuid Firefoxis on ka teisi sama eesmärki täitvaid pistikprogramme. Seetõttu on testide salvestamise võime endiselt peamine seleeni omadus.

Veebi kraapimine:

Kuigi seleeni kasutatakse veebirakenduste testimiseks, on see ka veebikaabitsana hästi skaala. Seleeni saab kasutada AJAX-i veebisaitide ja kõige raskemini kraapitavate veebisaitide kraapimiseks, tingimusel et saate aru HTML-i struktuurist. Saate vaadata seda õpetust seleeni kasutamise kohta veebi kraapimiseks Pythoniga.

Plussid

  1. Mitme platvormi tugi.
  2. Mitmekeelne tugi.
  3. Võime teste registreerida.
  4. Oskab ka ekraanipilte teha.
  5. Tohutu kasutajate kogukond.

Miinused

  1. Aeglane, võrreldes Puppeteeriga.
  2. Piiratud kontroll testide üle, võrreldes Puppeteeriga.

Järeldus

Kui te ei viitsi veebilehtede testimist muudel platvormidel peale Chrome'i, siis saate Puppeteeriga koostööd teha tingimusel, et saate töötada JavaScripti (sõlme) abil. Kuid kui olete mures mitme platvormi pärast, pole seleeni kasutamine mõttetu. Rääkides nende veebi kraapimisvõimetest, on mõlemad tööriistad isegi ise seal. Tuleb siiski märkida, et nukk võib olla seleenist kiirem.

Kõik tööriistad, mille päeva lõpuks valite, peaksid korras olema, lihtsalt nautige oma automatiseerimisskriptide kirjutamist.

Tasuta ja avatud lähtekoodiga mängumootorid Linuxi mängude arendamiseks
See artikkel hõlmab loetelu tasuta ja avatud lähtekoodiga mängumootoritest, mida saab kasutada 2D- ja 3D-mängude arendamiseks Linuxis. Selliseid mängu...
Tomb Raider for Linuxi õpetus
Shadow of the Tomb Raider on kaheteistkümnes täiendus seeria Tomb Raider - tegevus- ja seiklusmängude frantsiisile, mille on loonud Eidos Montreal. Ni...
Kuidas FPS-i suurendada Linuxis?
FPS tähistab Kaadrit sekundis. FPS-i ülesanne on mõõta kaadrisagedust video taasesitamisel või mängude esitamisel. Lihtsamalt öeldes nimetatakse iga s...