Selenium

Poppenspeler versus selenium

Poppenspeler versus selenium
Als het tegenwoordig gaat om geautomatiseerde webtests, zijn Puppeteer en Selenium de twee namen die naar voren komen. Een van de belangrijkste redenen waarom ze bekend zijn, is hun vermogen om headless browsers uit te voeren. Laten we daarom, voordat we verder gaan met het artikel, even kijken naar wat headless browsers zijn en wat hun voordelen zijn.

In basistermen zijn headless browsers browsers die kunnen worden gebruikt voor het testen van de bruikbaarheid van webpagina's en het uitvoeren van browserinteracties, net zoals u zou doen met uw gewone browser. Het enige verschil hier is dat er geen grafische gebruikersinterface (GUI) is en dat ze meestal vanaf de terminal worden uitgevoerd.

Headless-browsers:

Nu we een belangrijke factor voor beide tools kennen, kunnen we doorgaan.

poppenspeler

Puppeteer is een Node-bibliotheek van Google die een eenvoudige API biedt om headless Chrome te besturen. Via Puppeteer kunnen veelvoorkomende taken zoals het typen van invoer, klikken op knoppen, het testen van de bruikbaarheid van webpagina's en zelfs webschrapen eenvoudig worden uitgevoerd.

Puppeteer is officieel van het Chrome-team en gebruikt het Chrome Remote Debug Protocol, net zoals we zouden vinden met de Chrome Devtools. Deze bibliotheek ondersteunt de moderne JavaScript-syntaxis die beschikbaar is in Google Chrome.

Opstelling

Installeren en aan de slag gaan met Puppeteer is heel eenvoudig. Omdat Puppeteer een Node-bibliotheek is, kan deze worden geïnstalleerd met behulp van de npm gereedschap.

Installatie kan gedaan worden met het onderstaande commando:

npm ik poppenspeler

Het uitvoeren van de bovenstaande opdracht installeert Puppeteer. Er wordt verwacht dat er ook een recente versie van Chromium wordt gedownload die zou werken met de API.

De grootte van Chromium is afhankelijk van het besturingssysteem:

Na de installatie van Puppeteer kunt u meer informatie vinden over hoe u aan de slag kunt gaan, u kunt ook meer codevoorbeelden bekijken.

Kenmerken

Hoewel het vermogen van Puppeteer om een ​​headless browser te starten een functie is die het enige bekendheid heeft opgeleverd, is dat niet de enige functie die het geweldig maakt. Puppeteer heeft ook een aantal andere functies die het nuttig maken, laten we er een paar bekijken.

Eenvoudige automatisering:

Hoewel er andere tools zijn die kunnen worden gebruikt voor webautomatisering, komt Puppeteer als beste uit de bus. Dit komt door het feit dat het goed werkt voor slechts één browser, namelijk de Headless Chrome-browser, en daarom voert het webautomatiseringstaken op de meest efficiënte manier uit. Puppeteer werkt ook prima met populaire bibliotheken voor het testen van eenheden, zoals Mocha en Jasmine.

Screenshot testen:

Dit is een essentiële functie voor elke geautomatiseerde webtesttaak. Schermafbeeldingen zijn belangrijk en helpen het resultaat van interacties met elementen op een webpagina bij te houden. Bibliotheken zoals Puppeteer-screenshot-tester bestaan ​​ook in Puppeteer die de mogelijkheid biedt om screenshots te vergelijken die tijdens het testen zijn gegenereerd. Naast het genereren van screenshots van tests, kunnen PDF's ook worden gegenereerd van geteste webpagina's in poppenspeler.

Prestatietests:

Chrome biedt DevTools waarmee de prestatietijdlijn van webpagina's kan worden vastgelegd, en Puppeteer maakt hier ook gebruik van. Met Puppeteer kunnen tijdlijnsporen van websites worden vastgelegd om prestatieproblemen te onderzoeken. Dankzij de API-controle op hoog niveau van de Puppeteer over het Chrome Developers Tools Protocol, biedt het gebruikers de mogelijkheid om servicemedewerkers te controleren en caching van websites te testen.

Web schrapen:

Een gesprek over functies zou niet worden voltooid zonder het vermogen van Puppeteer te erkennen om te worden gebruikt voor webscraping-doeleinden. Puppeteer leren gebruiken als een webschraper is vrij eenvoudig, bekijk de API-documentatie.

Pluspunten

  1. Werkt prima voor visueel testen.
  2. Geweldig voor end-to-end testen.
  3. Snel in vergelijking met Selenium.
  4. Kan screenshots van webpagina's maken.
  5. Meer controle over tests via Chrome.
  6. Kan offline modus testen.

nadelen

  1. Ondersteunt alleen JavaScript (Node)
  2. Ondersteunt alleen Chrome

Selenium

Selenium is een krachtig webtestraamwerk dat de mogelijkheid biedt om webapplicaties te automatiseren voor testdoeleinden. Selenium staat ook bekend om zijn vermogen om webgebaseerde beheertaken te automatiseren.

Selenium komt in twee delen; de Selenium WebDriver voor het maken van krachtige, browsergebaseerde automatiseringssuites en tests en de Selenium IDE voor het maken van snelle scripts voor het reproduceren van bugs.

Niet te vergeten dat Selenium ook headless browsers ondersteunt zoals gezien met Puppeteer.

Opstelling

In tegenstelling tot Puppeteer is het instellen van Selenium niet eenvoudig. Selenium ondersteunt veel talen en verschillende browsers, daarom moet aan die mogelijke voorwaarden worden voldaan.

Hieronder vindt u links naar officiële tutorials over het instellen van Selenium-bindingen voor verschillende talen.

Naast het ondersteunen van verschillende talen, ondersteunt Selenium ook meerdere browsers. In tegenstelling tot Puppeteer die Chromium tijdens de installatie installeert, moet je mogelijk webstuurprogramma's installeren voor de webbrowser van je keuze.

Hier zijn links naar webstuurprogramma's voor Mozilla Firefox en Google Chrome.

Als je de Selenium IDE ook wilt gebruiken, bestaat deze ook voor meerdere browsers. Hier zijn links naar Selenium IDE voor Mozilla Firefox en Google Chrome.

Kenmerken

Het vermogen om met headless browsers te werken, heeft het ontegensprekelijk de meest populaire webautomatiseringstool gemaakt, maar er zijn andere functies die het krachtig maken.

Ondersteuning voor meerdere talen:

Dit is een zeer belangrijke functie van Selenium. Dankzij de ondersteuning in meerdere talen kunnen meer ontwikkelaars de tool gebruiken voor hun testtaken voor webautomatisering.  Hoewel je misschien denkt dat de meertalige ondersteuning het traag zou maken, werkt Selenium nog steeds op een goede snelheid omdat het opstarten van een server in Web Driver niet vereist is.

Ondersteuning voor meerdere platforms:

Op dezelfde manier dat Selenium niet wordt beperkt door taalbarrières, wordt het ook niet beperkt door platformbarrières. Het is geen nieuws dat webapplicaties zich op meerdere platforms anders gedragen. Selenium geeft testers de mogelijkheid om te testen in de belangrijkste webbrowsers om een ​​soepele gebruikerservaring te bieden aan gebruikers in verschillende browsers.  Naast browsers kan Selenium ook worden gebruikt om te testen op mobiele apparaten zoals Android, iOS, Windows, Blackberry-apps.

Opnametool:

Met Selenium IDE is het eenvoudig om webautomatiseringstests op te nemen. Selenium IDE stelt testers in staat gebruik te maken van de opnamemogelijkheid, evenals de ondersteuning voor automatisch aanvullen en de mogelijkheid om door opdrachten te navigeren. De Opnametool werkt niet meer in Firefox 55 en latere versies, maar er zijn andere plug-ins in Firefox die hetzelfde doel dienen. Daarom blijft de mogelijkheid om tests op te nemen een belangrijk kenmerk van Selenium.

Web schrapen:

Hoewel Selenium wordt gebruikt voor het testen van webapplicaties, schaalt het ook goed als een webschraper. Selenium kan worden gebruikt om AJAX-websites en de moeilijkste websites te schrapen, op voorwaarde dat u de HTML-structuur begrijpt. Je kunt deze tutorial bekijken over het gebruik van Selenium voor webscraping met Python.

Pluspunten

  1. Ondersteuning voor meerdere platforms.
  2. Ondersteuning in meerdere talen.
  3. Mogelijkheid om tests op te nemen.
  4. Kan ook screenshots maken.
  5. Enorme gebruikersgemeenschap.

nadelen

  1. Langzaam in vergelijking met Puppeteer.
  2. Beperkte controle over tests in vergelijking met Puppeteer.

Conclusie

Als je geen moeite hebt met het testen van webpagina's op andere platforms dan Chrome, dan kun je prima met Puppeteer werken, op voorwaarde dat je met JavaScript kunt werken (Node). Als u zich echter zorgen maakt over meerdere platforms, is het gebruik van Selenium een ​​goed idee. Over hun mogelijkheden voor webschrapen gesproken, beide tools zijn er zelfs. Er moet echter worden opgemerkt dat Puppeteer sneller kan zijn dan Selenium.

Elke tool die je uiteindelijk kiest, zou in orde moeten zijn, geniet gewoon van het schrijven van je automatiseringsscripts.

Installeer de nieuwste OpenRA Strategy Game op Ubuntu Linux
OpenRA is een Libre/Free Real Time Strategy-game-engine die de vroege Westwood-games nabootst, zoals de klassieke Command & Conquer: Red Alert. Gedist...
Installeer de nieuwste Dolphin Emulator voor Gamecube & Wii op Linux
Met de Dolphin Emulator kun je de door jou gekozen Gamecube- en Wii-spellen spelen op Linux Personal Computers (pc). Omdat het een vrij beschikbare e...
Hoe de GameConqueror Cheat Engine in Linux te gebruiken
Het artikel bevat een handleiding over het gebruik van de GameConqueror cheat-engine in Linux. Veel gebruikers die games op Windows spelen, gebruiken ...