Selen

Dukketeater VS Selen

Dukketeater VS Selen
I dag når det gjelder automatisert nettesting, er Puppeteer og Selenium de to navnene som kommer opp. En av hovedårsakene til at de er velkjente, er deres evne til å utføre hodeløse nettlesere. Derfor, før vi fortsetter med artikkelen, kan vi ta en rask titt på hva hodeløse nettlesere er og fordelene deres.

I grunnleggende termer er hodeløse nettlesere nettlesere som kan brukes til å teste brukervennligheten til nettsider og utføre nettleserinteraksjoner akkurat som du ville gjort med din vanlige nettleser. Den eneste forskjellen her er at det ikke er noe grafisk brukergrensesnitt (GUI), og de blir vanligvis utført fra terminalen.

Hodeløse nettlesere:

Nå som vi har kjent en viktig faktor for begge verktøyene, kan vi fortsette.

Dukketeater

Puppeteer er et Node-bibliotek fra Google som gir et enkelt API for å kontrollere hodeløs Chrome. Gjennom Puppeteer kan vanlige oppgaver som å skrive inn innganger, klikke på knapper, teste brukervennligheten til nettsider og til og med nettskraping enkelt utføres.

Puppeteer er offisiell fra Chrome-teamet, og bruker Chrome Remote Debug Protocol, akkurat som vi ville funnet med Chrome Devtools. Dette biblioteket støtter den moderne JavaScript-syntaksen som er tilgjengelig i Google Chrome.

Oppsett

Installere og komme i gang med Puppeteer er veldig enkelt. Siden Puppeteer er et Node-bibliotek, kan det installeres ved hjelp av npm verktøy.

Installasjonen kan gjøres med kommandoen nedenfor:

npm jeg dukketeater

Når du kjører kommandoen ovenfor, installeres Puppeteer. Det forventes også å laste ned en nylig versjon av Chromium som vil fungere med API.

Størrelsen på Chromium varierer avhengig av operativsystem:

Etter installasjon av Puppeteer kan du finne ut mer informasjon om hvordan du kommer i gang, og du kan også sjekke ut flere kodeeksempler.

Funksjoner

Mens Puppeteers evne til å starte en hodeløs nettleser er en funksjon som har fått berømmelse, er det ikke den eneste funksjonen som gjør den fantastisk. Puppeteer har også et par andre funksjoner som gjør det nyttig, la oss ta en rask titt på noen av dem.

Enkel automatisering:

Mens det er andre verktøy som kan brukes til nettautomatisering, kommer Puppeteer ut av toppen. Dette skyldes det faktum at det fungerer bra for bare en nettleser, som er den hodeløse Chrome-nettleseren, og derfor utfører den nettautomatiseringsoppgaver på en mest mulig effektiv måte. Puppeteer fungerer også bra med populære enhetstestbiblioteker som Mocha og Jasmine.

Skjermbildetesting:

Dette er en viktig funksjon for enhver automatisert webtestoppgave. Skjermbilder er viktige, og hjelper med å holde oversikt over resultatet av interaksjoner med elementer på en webside. Biblioteker som Puppeteer-screenshot-tester finnes også i Puppeteer som gir muligheten til å sammenligne skjermbilder generert under testing. Bortsett fra å generere skjermbilder av tester, kan PDF-filer også genereres fra testede websider i dukketeater.

Ytelsestesting:

Chrome tilbyr DevTools som tillater innspilling av ytelsestidslinjen til nettsider, og Puppeteer benytter seg av dette også. Med Puppeteer kan tidslinjespor av nettsteder fanges for å undersøke ytelsesproblemer. På grunn av Puppeteers API-kontroll på høyt nivå over Chrome Developers Tools Protocol, gir den brukerne muligheten til å kontrollere tjenestearbeidere og teste caching av nettsteder.

Web Skraping:

En samtale om funksjoner vil ikke bli fullført uten å anerkjenne Puppeteers evne til å brukes til nettskraping. Å lære å bruke Puppeteer som en nettskrape er ganske enkelt, ta en titt på API-dokumentasjonen.

Fordeler

  1. Fungerer bra for visuell testing.
  2. Flott for test til slutt.
  3. Rask sammenlignet med selen.
  4. Kan ta skjermbilder av nettsider.
  5. Mer kontroll over tester gjennom Chrome.
  6. Kan teste offline-modus.

Ulemper

  1. Støtter bare JavaScript (Node)
  2. Støtter bare Chrome

Selen

Selen er et kraftig rammeverk for nettprøving, som har muligheten til å automatisere webapplikasjoner for testformål. Selen er også kjent for sin evne til å automatisere nettbaserte administrasjonsoppgaver.

Selen kommer i to deler; Selenium WebDriver for å lage kraftige, nettleserbaserte automatiseringsserier og -tester og Selenium IDE for å lage raske reproduksjonsskript.

For ikke å glemme at Selenium også støtter hodeløse nettlesere, sett med Puppeteer.

Oppsett

I motsetning til Puppeteer er det ikke greit å sette opp Selen. Selenium støtter mange språk og forskjellige nettlesere, derfor må de mulige forholdene ivaretas.

Oppført nedenfor er lenker til offisielle opplæringsprogrammer om hvordan du setter opp Selen-bindinger for forskjellige språk.

I tillegg til å støtte forskjellige språk, støtter Selenium også flere nettlesere. I motsetning til Puppeteer som installerer Chromium under installasjonen, kan det hende du må installere nettdrivere for den valgte nettleseren.

Her er lenker til nettdrivere for Mozilla Firefox og Google Chrome.

Hvis du også ønsker å bruke Selen IDE, finnes det også for flere nettlesere. Her er lenker til Selenium IDE for Mozilla Firefox og Google Chrome.

Funksjoner

Evnen til å jobbe med hodeløse nettlesere har gjort det utvilsomt det mest populære nettautomatiseringsverktøyet, men det er andre funksjoner som gjør det kraftig.

Flerspråklig støtte:

Dette er en veldig viktig Selen-funksjon. Med flere språkstøtte kan flere utviklere bruke verktøyet til sine testoppgaver for nettautomatisering.  Selv om man kanskje tror at flerspråklig støtte vil gjøre det tregt, kjører Selen fortsatt i god hastighet, da det ikke er nødvendig å starte en server i Web Driver.

Støtte for flere plattformer:

På samme måte som Selen ikke er begrenset av språkbarrierer, er det heller ikke begrenset av plattformbarriere. Det er ingen nyheter at webapplikasjon oppfører seg annerledes på flere plattformer. Selen gir testere muligheten til å teste på tvers av store nettlesere for å gi en jevn brukeropplevelse for brukere i forskjellige nettlesere.  Bortsett fra nettlesere, kan Selen også brukes til å teste på mobil som Android-, iOS-, Windows-, Blackberry-apper.

Opptaksverktøy:

Med Selenium IDE er det enkelt å registrere nettautomatiseringstester. Selen IDE lar testere benytte seg av opptaksfunksjonen, samt autofullføringsstøtte og muligheten til å navigere i kommandoer. Opptaksverktøyet har sluttet å fungere på Firefox 55 og nyere versjoner, men det er andre plugins på Firefox som har samme formål. Derfor er evnen til å ta opp tester en viktig selenfunksjon.

Web Skraping:

Mens Selen brukes til å teste nettapplikasjoner, skalerer det også godt som en nettskrape. Selen kan brukes til å skrape AJAX-nettsteder og de vanskeligste nettstedene å skrape, forutsatt at du forstår HTML-strukturen. Du kan sjekke ut denne veiledningen om bruk av Selen for nettskraping med Python.

Fordeler

  1. Støtte for flere plattformer.
  2. Flerspråklig støtte.
  3. Evne til å registrere tester.
  4. Kan ta skjermbilder også.
  5. Stort fellesskap av brukere.

Ulemper

  1. Sakte sammenlignet med dukketeater.
  2. Begrenset kontroll over tester sammenlignet med dukketeater.

Konklusjon

Hvis du ikke er plaget med å teste nettsider på andre plattformer, bortsett fra Chrome, så har du det bra med Puppeteer, forutsatt at du kan jobbe med JavaScript (Node). Men hvis du er bekymret for flere plattformer, er det ikke bra å bruke Selen. Når vi snakker om deres nettskrapingsevner, begge verktøyene til og med seg selv der ute. Det skal imidlertid bemerkes at dukketeater kan være raskere enn selen.

Et hvilket som helst verktøy du velger på slutten av dagen, bør være bra, bare nyt skrivearbeidene dine.

Mus Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kanskje du trenger et verktøy som kan gjøre at musens kontroll endres med hvert program du bruker. Hvis dette er tilfelle, kan du prøve et program som...
Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jeg har nylig lest om Microsoft Sculpt Touch trådløs mus og bestemte meg for å kjøpe den. Etter å ha brukt den en stund bestemte jeg meg for å dele mi...
Mus AppyMouse Pekeplate og musepeker på skjermen for Windows-nettbrett
AppyMouse Pekeplate og musepeker på skjermen for Windows-nettbrett
Nettbrettbrukere savner ofte musepekeren, spesielt når de bruker vanlige bærbare datamaskiner. Berøringsskjermen Smarttelefoner og nettbrett har mange...