Selen

Puppeteer VS Selenium

Puppeteer VS Selenium
Idag när det gäller automatiserad webbtestning är Puppeteer och Selenium de två namnen som kommer upp. En av de främsta anledningarna till att de är välkända är deras förmåga att köra huvudlösa webbläsare. Innan vi fortsätter med artikeln, låt oss därför ta en snabb titt på vad huvudlösa webbläsare är och deras fördelar.

I grundläggande termer är huvudlösa webbläsare webbläsare som kan användas för att testa användbarheten på webbsidor och utföra webbläsarinteraktioner precis som du skulle göra med din vanliga webbläsare. Den enda skillnaden här är att det inte finns något grafiskt användargränssnitt (GUI) och de körs vanligtvis från terminalen.

Huvudlösa webbläsare:

Nu när vi har känt en viktig faktor för båda verktygen kan vi fortsätta.

Puppeteer

Puppeteer är ett Node-bibliotek från Google som tillhandahåller ett enkelt API för att kontrollera headless Chrome. Genom Puppeteer kan vanliga uppgifter som att skriva in ingångar, klicka på knappar, testa användbarheten på webbsidor och till och med webbskrapning enkelt utföras.

Puppeteer är officiellt från Chrome-teamet och använder Chrome Remote Debug Protocol, precis som vi skulle hitta med Chrome Devtools. Detta bibliotek stöder den moderna JavaScript-syntaxen som är tillgänglig i Google Chrome.

Uppstart

Det är väldigt enkelt att installera och komma igång med Puppeteer. Eftersom Puppeteer är ett nodbibliotek kan det installeras med npm verktyg.

Installationen kan göras med kommandot nedan:

npm i marionett

När du kör kommandot ovan installeras Puppeteer. Det förväntas också ladda ner en ny version av Chromium som skulle fungera med API.

Storleken på Chromium varierar beroende på operativsystem:

Efter installationen av Puppeteer kan du ta reda på mer information om hur du kommer igång, du kan också kolla in fler kodexempel.

Funktioner

Medan Puppeteers förmåga att starta en huvudlös webbläsare är en funktion som har fått den en del berömmelse, det är inte den enda funktionen som gör den fantastisk. Puppeteer har också ett par andra funktioner som gör det användbart, låt oss ta en snabb titt på några av dem.

Enkel automatisering:

Även om det finns andra verktyg som kan användas för webbautomation, kommer Puppeteer ut. Detta beror på att det bara fungerar för en webbläsare, det vill säga den Headless Chrome-webbläsaren, och därför utför den webbautomatiseringsuppgifter på ett så effektivt sätt som möjligt. Puppeteer fungerar också bra med populära enhetstestbibliotek som Mocha och Jasmine.

Skärmdumpstestning:

Detta är en viktig funktion för alla automatiserade webbtestuppgifter. Skärmbilder är viktiga och hjälper till att hålla reda på resultatet av interaktioner med element på en webbsida. Bibliotek som Puppeteer-screenshot-tester finns också i Puppeteer som ger möjlighet att jämföra skärmdumpar som genererats under testning. Förutom att skapa skärmdumpar av test kan PDF-filer också genereras från testade webbsidor i marionett.

Prestandatester:

Chrome tillhandahåller DevTools som möjliggör inspelning av prestanda tidslinjen på webbsidor, och Puppeteer utnyttjar detta också. Med Puppeteer kan tidslinjespår av webbplatser fångas för att undersöka prestandafrågor. På grund av Puppeters höga API-kontroll över Chrome Developers Tools Protocol ger det användarna möjlighet att kontrollera servicearbetare och testa cachning av webbplatser.

Webbskrapning:

Ett samtal om funktioner skulle inte slutföras utan att man erkänner Puppeteers förmåga att användas för webbskrapning. Att lära sig att använda Puppeteer som en webbskrapa är ganska enkelt, ta en titt på API-dokumentationen.

Fördelar

  1. Fungerar bra för visuell testning.
  2. Perfekt för test till slut.
  3. Snabb jämfört med selen.
  4. Kan ta skärmdumpar av webbsidor.
  5. Mer kontroll över tester via Chrome.
  6. Kan testa offline-läge.

Nackdelar

  1. Stöder endast JavaScript (nod)
  2. Stöder endast Chrome

Selen

Selen är ett kraftfullt ramverk för webbtestning som har förmågan att automatisera webbapplikationer för teständamål. Selen är också känt för sin förmåga att automatisera webbaserade administrationsuppgifter.

Selen finns i två delar; Selen WebDriver för att skapa kraftfulla, webbläsarbaserade automatiseringssviter och test och Selen IDE för att skapa snabba reproduktionsskript.

För att inte glömma att Selenium också stöder huvudlösa webbläsare som du ser med Puppeteer.

Uppstart

Till skillnad från Puppeteer är det inte enkelt att ställa in Selen. Selen har stöd för många språk och olika webbläsare, därför måste dessa möjliga villkor tas om hand.

Nedan listas länkar till officiella handledning om hur du ställer in Selen-bindningar för olika språk.

Förutom att stödja olika språk, stöder Selen också flera webbläsare. Till skillnad från Puppeteer som installerar Chromium under installationen kan du behöva installera webbdrivrutiner för den webbläsare du väljer.

Här är länkar till webbdrivrutiner för Mozilla Firefox och Google Chrome.

Om du också vill använda Selen IDE finns det också för flera webbläsare. Här är länkar till Selen IDE för Mozilla Firefox och Google Chrome.

Funktioner

Förmågan att arbeta med huvudlösa webbläsare har gjort det utan tvekan till det mest populära webbautomationsverktyget, men det finns andra funktioner som gör det kraftfullt.

Flerspråkigt stöd:

Detta är en mycket viktig Selen-funktion. Med sitt stöd för flera språk kan fler utvecklare använda verktyget för sina testuppgifter för webbautomation.  Medan man kanske tror att stödet för flera språk skulle göra det långsamt, körs Selen fortfarande i god hastighet eftersom det inte krävs att starta en server i Web Driver.

Stöd för flera plattformar:

På samma sätt som Selen inte är begränsat av språkbarriärer, är det inte heller begränsat av plattformshinder. Det är ingen nyhet att webbapplikationer beter sig annorlunda på flera plattformar. Selenium ger testare möjlighet att testa i stora webbläsare för att ge en smidig användarupplevelse för användare i olika webbläsare.  Förutom webbläsare kan Selen också användas för att testa på mobiler som Android, iOS, Windows, Blackberry-appar.

Inspelningsverktyg:

Med Selenium IDE är det enkelt att spela in webbautomatiseringstester. Selen IDE tillåter testare att använda inspelningsfunktionen såväl som autofullständigt stöd och förmåga att navigera kommandon. Inspelningsverktyget har slutat fungera på Firefox 55 och senare versioner, men det finns andra plugins på Firefox som tjänar samma syfte. Därför förblir förmågan att spela in tester en viktig selenfunktion.

Webbskrapning:

Medan Selen används för att testa webbapplikationer, skalas det också bra som en webbskrapa. Selen kan användas för att skrapa AJAX-webbplatser och de svåraste webbplatserna att skrapa, förutsatt att du förstår HTML-strukturen. Du kan kolla in den här guiden om hur du använder Selen för webbskrapning med Python.

Fördelar

  1. Stöd för flera plattformar.
  2. Flerspråkigt stöd.
  3. Möjlighet att spela in tester.
  4. Kan också ta skärmdumpar.
  5. Enorma användare av användare.

Nackdelar

  1. Långsam jämfört med Puppeteer.
  2. Begränsad kontroll över test jämfört med Puppeteer.

Slutsats

Om du inte bryr dig om att testa webbsidor på andra plattformar förutom Chrome, jobbar du bra med Puppeteer, förutsatt att du kan arbeta med JavaScript (Node). Men om du är orolig för flera plattformar, är det ingen idé att använda Selen. Prata om deras webbskrapningsförmåga, båda verktygen till och med själva där ute. Det bör dock noteras att Puppeteer kan vara snabbare än selen.

Alla verktyg du väljer i slutet av dagen ska vara bra, bara njut av att skriva dina automatiseringsskript.

Mus Hur man ändrar vänster och höger musknapp på Windows 10 PC
Hur man ändrar vänster och höger musknapp på Windows 10 PC
Det är en hel norm att alla datormusenheter är ergonomiskt utformade för högerhänta användare. Men det finns musenheter tillgängliga som är speciellt ...
Mus Emulera musklick genom att sväva med Clickless Mouse i Windows 10
Emulera musklick genom att sväva med Clickless Mouse i Windows 10
Att använda en mus eller tangentbord i fel hållning av överdriven användning kan resultera i många hälsoproblem, inklusive stam, karpaltunnelsyndrom o...
Mus Lägg till musgester i Windows 10 med dessa gratisverktyg
Lägg till musgester i Windows 10 med dessa gratisverktyg
Under senare år har datorer och operativsystem utvecklats kraftigt. Det fanns en tid då användare var tvungna att använda kommandon för att navigera g...