Selen

Dukketeater VS Selen

Dukketeater VS Selen
I dag, når det kommer til automatiseret webtest, er Puppeteer og Selenium de to navne, der kommer op. En af hovedårsagerne til, at de er velkendte, er deres evne til at udføre headless browsere. Lad os derfor hurtigt, inden vi fortsætter med artiklen, se på hvad headless browsere er og deres fordele.

I grundlæggende vendinger er headless browsere browsere, der kan bruges til at teste anvendeligheden af ​​websider og udføre browserinteraktioner, ligesom du ville med din almindelige browser. Den eneste forskel her er, at der ikke er nogen grafisk brugergrænseflade (GUI), og de udføres normalt fra terminalen.

Hovedløse browsere:

Nu hvor vi har kendt en vigtig faktor for begge værktøjer, kan vi fortsætte.

Dukketeater

Puppeteer er et Node-bibliotek fra Google, der giver en simpel API til styring af headless Chrome. Gennem Puppeteer kan almindelige opgaver som at indtaste input, klikke på knapper, teste brugervenlighed på websider og endda webskrabning let udføres.

Puppeteer er officiel fra Chrome-teamet og bruger Chrome Remote Debug Protocol, ligesom vi ville finde med Chrome Devtools. Dette bibliotek understøtter den moderne JavaScript-syntaks, der er tilgængelig i Google Chrome.

Opsætning

Det er meget nemt at installere og komme i gang med Puppeteer. Da Puppeteer er et Node-bibliotek, kan det installeres ved hjælp af npm værktøj.

Installation kan udføres med nedenstående kommando:

npm i dukketeater

Kørsel af kommandoen ovenfor installerer Puppeteer. Det forventes også at downloade en nyere version af Chromium, der fungerer sammen med API'en.

Størrelsen på Chromium varierer alt efter operativsystem:

Efter installation af Puppeteer kan du finde ud af mere information om, hvordan du kommer i gang, og du kan også tjekke flere kodeeksempler.

Funktioner

Mens Puppeteers evne til at starte en hovedløs browser er en funktion, der har fået det en vis berømmelse, er det ikke den eneste funktion, der gør det fantastisk. Puppeteer har også et par andre funktioner, der gør det nyttigt, lad os se hurtigt på nogle af dem.

Nem automatisering:

Mens der er andre værktøjer, der kan bruges til webautomation, kommer Puppeteer ud af toppen. Dette skyldes, at det kun fungerer fint for en browser, som er den headless Chrome-browser, derfor udfører den webautomatiseringsopgaver på den mest effektive måde. Puppeteer fungerer også fint med populære enhedstestbiblioteker som Mocha og Jasmine.

Test af skærmbillede:

Dette er en vigtig funktion for enhver automatiseret webtestopgave. Screenshots er vigtige og hjælper med at holde styr på resultatet af interaktioner med elementer på en webside. Biblioteker som Puppeteer-screenshot-tester findes også i Puppeteer, der giver mulighed for at sammenligne skærmbilleder genereret under test. Bortset fra at generere skærmbilleder af tests, kan PDF-filer også genereres fra testede websider i marionet.

Ydelsestest:

Chrome leverer DevTools, der tillader optagelse af ydeevne-tidslinjen på websider, og Puppeteer drager også fordel af dette. Med Puppeteer kan tidslinjespor af websteder fanges for at undersøge præstationsproblemer. På grund af Puppeteers API-kontrol på højt niveau over Chrome Developers Tools Protocol giver det brugerne mulighed for at kontrollere servicearbejdere og teste caching af websteder.

Webskrabning:

En samtale om funktioner ville ikke være afsluttet uden at anerkende Puppeteers evne til at blive brugt til webskrabning. At lære at bruge Puppeteer som en webskraber er ret let, se på API-dokumentationen.

Fordele

  1. Fungerer fint til visuel test.
  2. Fantastisk til test til ende til slut.
  3. Hurtigt sammenlignet med selen.
  4. Kan tage skærmbilleder af websider.
  5. Mere kontrol over test gennem Chrome.
  6. Kan teste offline-tilstand.

Ulemper

  1. Understøtter kun JavaScript (Node)
  2. Understøtter kun Chrome

Selen

Selen er en stærk ramme om webtest, der har evnen til at automatisere webapplikationer til testformål. Selen er også kendt for sin evne til at automatisere webbaserede administrationsopgaver.

Selen findes i to dele; Selen WebDriver til oprettelse af kraftfulde, browserbaserede automatiseringspakker og test og Selen IDE til oprettelse af hurtige reproduktionsscript til fejl.

Ikke at glemme, at Selen også understøtter headless browsere som set med Puppeteer.

Opsætning

I modsætning til Puppeteer er det ikke ligetil at oprette selen. Selen understøtter mange sprog og forskellige browsere, derfor skal disse mulige forhold tages hånd om.

Nedenfor er der links til officielle vejledninger om, hvordan du konfigurerer Selen-bindinger til forskellige sprog.

Bortset fra at understøtte forskellige sprog understøtter Selen også flere browsere. I modsætning til Puppeteer, der installerer Chromium under installationen, skal du muligvis installere webdrivere til den valgte webbrowser.

Her er links til webdrivere til Mozilla Firefox og Google Chrome.

Hvis du også vil bruge Selen IDE, findes den også til flere browsere. Her er links til Selenium IDE til Mozilla Firefox og Google Chrome.

Funktioner

Evnen til at arbejde med hovedløse browsere har gjort det utvivlsomt til det mest populære webautomationsværktøj, men der er andre funktioner, der gør det kraftigt.

Flersproget support:

Dette er en meget vigtig Selen-funktion. Med sin understøttelse af flere sprog kan flere udviklere komme til at bruge værktøjet til deres webautomatiseringstestopgaver.  Mens man måske tror, ​​at dens understøttelse på flere sprog ville gøre det langsomt, kører Selen stadig i god hastighed, da det ikke er nødvendigt at starte en server i Web Driver.

Multi-platform support:

På samme måde som Selen ikke er begrænset af sprogbarrierer, er det heller ikke begrænset af platformbarriere. Det er ingen nyheder, at webapplikationer opfører sig forskelligt på flere platforme. Selen giver testere mulighed for at teste på tværs af større webbrowsere for at give en jævn brugeroplevelse for brugere på tværs af forskellige browsere.  Bortset fra browsere kan Selen også bruges til at teste på mobiltelefoner som Android-, iOS-, Windows-, Blackberry-apps.

Optagelsesværktøj:

Med Selenium IDE er det let at registrere webautomatiseringstest. Selen IDE tillader testere at gøre brug af optagefunktionen såvel som autokomplet support og evnen til at navigere kommandoer. Optagelsesværktøjet er stoppet med at arbejde på Firefox 55 og nyere versioner, men der er andre plugins på Firefox, der tjener det samme formål. Derfor er evnen til at optage tests fortsat en vigtig Selen-funktion.

Webskrabning:

Mens Selen bruges til test af webapplikationer, skalerer det også godt som en webskraber. Selen kan bruges til at skrabe AJAX-websteder og de sværeste websteder at skrabe, forudsat at du kan forstå HTML-strukturen. Du kan tjekke denne vejledning om brug af Selen til webskrabning med Python.

Fordele

  1. Multi-platform support.
  2. Flersproget support.
  3. Evne til at registrere test.
  4. Kan også tage skærmbilleder.
  5. Kæmpe brugerfællesskab.

Ulemper

  1. Langsom sammenlignet med dukketeater.
  2. Begrænset kontrol over test sammenlignet med Puppeteer.

Konklusion

Hvis du ikke er generet af at teste websider på andre platforme bortset fra Chrome, fungerer du fint sammen med Puppeteer, forudsat at du er i stand til at arbejde med JavaScript (Node). Men hvis du er bekymret for flere platforme, er det ikke en god idé at bruge Selen. Når vi taler om deres webskrabningsevner, begge værktøjer selv dem derude. Det skal dog bemærkes, at dukketeater kan være hurtigere end selen.

Ethvert værktøj, du vælger i slutningen af ​​dagen, skal være fint, bare nyd at skrive dine automatiseringsskripter.

Vulkan til Linux-brugere
Med hver nye generation af grafikkort ser vi spiludviklere skubbe grænserne for grafisk troskab og komme et skridt tættere på fotorealisme. Men på tro...
OpenTTD vs Simutrans
Oprettelse af din egen transportsimulering kan være sjovt, afslappende og ekstremt lokkende. Derfor skal du sørge for at prøve så mange spil som mulig...
OpenTTD Tutorial
OpenTTD er et af de mest populære forretningssimuleringsspil derude. I dette spil skal du oprette en vidunderlig transportvirksomhed. Du starter dog i...