Wat is Selenium WebDriver? Verschil met RC

Inhoudsopgave:

Anonim

Wat is Selenium Webdriver?

Selenium Webdriver is een open-source verzameling API's die wordt gebruikt voor het testen van webapplicaties. De Selenium Webdriver-tool wordt gebruikt voor het automatiseren van het testen van webapplicaties om te controleren of het werkt zoals verwacht of niet. Het ondersteunt voornamelijk browsers zoals Firefox, Chrome, Safari en Internet Explorer. Het stelt u ook in staat om cross-browser testen uit te voeren.

Met WebDriver kunt u ook een programmeertaal gebruiken bij het maken van uw testscripts (niet mogelijk in Selenium IDE).

U kunt nu voorwaardelijke bewerkingen gebruiken, zoals if-then-else of switch-case. U kunt ook looping uitvoeren zoals do-while.

De volgende programmeertalen worden ondersteund door WebDriver

  • Java
  • .Netto
  • Php
  • Python
  • Perl
  • Robijn

U hoeft ze niet allemaal te kennen. Je moet er gewoon kennis van hebben. In deze zelfstudie gebruiken we echter Java met Eclipse als onze IDE.

Verschil tussen Selenium RC en Webdriver

Vóór de komst van WebDriver in 2006 was er een andere automatiseringstool genaamd Selenium Remote Control. Zowel WebDriver als Selenium RC hebben de volgende kenmerken:

  • Met beide kunt u een programmeertaal gebruiken bij het ontwerpen van uw testscripts.
  • Met beide kunt u uw tests in verschillende browsers uitvoeren.

Dus hoe verschillen ze? Laten we de antwoorden bespreken.

1. Architectuur

De architectuur van WebDriver is eenvoudiger dan die van Selenium RC .

  • Het bestuurt de browser vanaf het OS-niveau
  • Het enige wat je nodig hebt, is de IDE van je programmeertaal (die je Selenium-commando's bevat) en een browser.
De architectuur van Selenium RC is veel gecompliceerder.
  • U moet eerst een aparte applicatie genaamd Selenium Remote Control (RC) Server starten voordat u kunt beginnen met testen
  • De Selenium RC Server fungeert als een "tussenpersoon" tussen uw Selenium-commando's en uw browser
  • Wanneer u begint met testen, "injecteert" Selenium RC Server een Javascript-programma genaamd Selenium Core in de browser.
  • Eenmaal geïnjecteerd, begint Selenium Core instructies te ontvangen die door de RC Server worden doorgegeven vanuit uw testprogramma.
  • Wanneer de instructies zijn ontvangen, voert Selenium Core deze uit als Javascript-opdrachten.
  • De browser zal de instructies van Selenium Core opvolgen en zijn reactie doorgeven aan de RC Server.
  • De RC Server ontvangt het antwoord van de browser en toont vervolgens de resultaten voor u.
  • RC Server haalt de volgende instructie uit uw testscript op om de hele cyclus te herhalen.

2. Snelheid

WebDriver is sneller dan Selenium RC omdat het rechtstreeks met de browser spreekt en de eigen engine van de browser gebruikt om het te besturen.

Selenium RC is langzamer omdat het een Javascript-programma gebruikt genaamd Selenium Core. Deze Selenium Core is degene die de browser rechtstreeks bestuurt, niet jij.

3. Real-life interactie

WebDriver werkt op een meer realistische manier samen met pagina-elementen. Als u bijvoorbeeld een uitgeschakeld tekstvak heeft op een pagina die u aan het testen was, kan WebDriver er echt geen waarde in invoeren, net zoals een echte persoon dat niet kan.

Selenium Core heeft, net als andere JavaScript-codes, toegang tot uitgeschakelde elementen. In het verleden klagen seleniumtesters dat Selenium Core in hun tests waarden in een uitgeschakeld tekstvak kon invoeren. Verschillen in API

4. API

De API van Selenium RC is meer gerijpt, maar bevat overtolligheden en vaak verwarrende commando's . Meestal weten testers bijvoorbeeld niet of ze type of typeKeys moeten gebruiken; of of click, mouseDown of mouseDownAt moet worden gebruikt. Erger nog, verschillende browsers interpreteren elk van deze opdrachten ook op verschillende manieren!

De API van WebDriver is eenvoudiger dan die van Selenium RC . Het bevat geen overtollige en verwarrende commando's.

5. Browserondersteuning

WebDriver ondersteunt de headless HtmlUnit-browser

HtmlUnit wordt "headless" genoemd omdat het een onzichtbare browser is - het is GUI-loos.

Het is een zeer snelle browser omdat er geen tijd wordt besteed aan het wachten tot pagina-elementen zijn geladen. Dit versnelt uw testuitvoeringscycli.

Omdat het onzichtbaar is voor de gebruiker, kan het alleen worden bestuurd met geautomatiseerde middelen.

Selenium RC kan de headless HtmlUnit-browser niet ondersteunen. Het heeft een echte, zichtbare browser nodig om te kunnen werken.

Beperkingen van WebDriver

WebDriver kan nieuwe browsers niet gemakkelijk ondersteunen

Onthoud dat WebDriver werkt op OS-niveau. Onthoud ook dat verschillende browsers op verschillende manieren met het besturingssysteem communiceren. Als er een nieuwe browser uitkomt, heeft deze mogelijk een ander communicatieproces met het besturingssysteem dan bij andere browsers. Dus, moet je de WebDrive team al geruime tijd te geven om te cijfer dat nieuwe proces voordat ze op de volgende WebDrive versie kunnen implementeren.

Het is echter aan het team van ontwikkelaars van de WebDriver om te beslissen of ze de nieuwe browser moeten ondersteunen of niet.

Selenium RC heeft een ingebouwde testresultatengenerator

Selenium RC genereert automatisch een HTML-bestand met testresultaten . Het formaat van het rapport is vooraf bepaald door RC zelf. Bekijk hieronder een voorbeeld van dit rapport.

WebDriver heeft geen ingebouwde opdracht die automatisch een testresultatenbestand genereert . U zou moeten vertrouwen op het uitvoervenster van uw IDE, of het rapport zelf ontwerpen met behulp van de mogelijkheden van uw programmeertaal en het opslaan als tekst, HTML, enz.

Overzicht

  • WebDriver is een tool voor het testen van webapplicaties in verschillende browsers met verschillende programmeertalen.
  • U kunt nu krachtige tests maken omdat u met WebDriver een programmeertaal naar keuze kunt gebruiken bij het ontwerpen van uw tests.
  • WebDriver is sneller dan Selenium RC vanwege de eenvoudigere architectuur.
  • WebDriver praat rechtstreeks met de browser, terwijl Selenium RC de hulp van de RC Server nodig heeft om dit te doen.
  • De API van WebDriver is beknopter dan die van Selenium RC.
  • WebDriver kan HtmlUnit ondersteunen, terwijl Selenium RC dat niet kan.
  • De enige nadelen van WebDriver zijn:
    • Het kan nieuwe browsers niet gemakkelijk ondersteunen , maar Selenium RC wel.
    • Het heeft geen ingebouwd commando voor het automatisch genereren van testresultaten.