Hva er Selen WebDriver? Forskjell med RC

Innholdsfortegnelse:

Anonim

Hva er Selen Webdriver?

Selenium Webdriver er en open source-samling av APIer som brukes til å teste webapplikasjoner. Selenium Webdriver-verktøyet brukes til å automatisere testing av webapplikasjoner for å bekrefte at det fungerer som forventet eller ikke. Den støtter hovedsakelig nettlesere som Firefox, Chrome, Safari og Internet Explorer. Det tillater deg også å utføre tester i flere nettlesere.

WebDriver lar deg også bruke et programmeringsspråk til å lage testskriptene dine (ikke mulig i Selen IDE).

Du kan nå bruke betingede operasjoner som if-then-else eller switch-case. Du kan også utføre looping som do-while.

Følgende programmeringsspråk støttes av WebDriver

  • Java
  • .Nett
  • PHP
  • Python
  • Perl
  • Rubin

Du trenger ikke å kjenne dem alle. Du trenger bare å være kunnskapsrik i ett. I denne veiledningen bruker vi imidlertid Java med Eclipse som IDE.

Forskjellen mellom Selen RC og Webdriver

Før innføringen av WebDriver i 2006 var det et annet automatiseringsverktøy som heter Selenium Remote Control. Både WebDriver og Selenium RC har følgende funksjoner:

  • Begge deler lar deg bruke et programmeringsspråk når du designer testskriptene dine.
  • Begge deler lar deg kjøre testene dine mot forskjellige nettlesere.

Så hvordan skiller de seg? La oss diskutere svarene.

1. Arkitektur

WebDrivers arkitektur er enklere enn Selen RC .

  • Den styrer nettleseren fra OS-nivå
  • Alt du trenger er programmeringsspråkets IDE (som inneholder Selenium-kommandoene) og en nettleser.
Selenium RCs arkitektur er mye mer komplisert.
  • Du må først starte et eget program som heter Selenium Remote Control (RC) Server før du kan begynne å teste
  • Selenium RC Server fungerer som en "mellommann" mellom Selenium-kommandoene og nettleseren din
  • Når du begynner å teste, "injiserer" Selenium RC Server et Javascript-program kalt Selenium Core i nettleseren.
  • Når den er injisert, vil Selenium Core begynne å motta instruksjoner videresendt av RC Server fra testprogrammet ditt.
  • Når instruksjonene er mottatt, vil Selenium Core utføre dem som Javascript-kommandoer.
  • Nettleseren vil følge instruksjonene fra Selenium Core og vil videreformidle sitt svar til RC Server.
  • RC Server vil motta nettleserens svar og deretter vise resultatene for deg.
  • RC Server henter neste instruksjon fra testskriptet for å gjenta hele syklusen.

2. Fart

WebDriver er raskere enn Selenium RC siden den snakker direkte til nettleseren bruker nettleserens egen motor for å kontrollere den.

Selen RC er tregere siden den bruker et Javascript-program kalt Selenium Core. Denne Selenium Core er den som direkte kontrollerer nettleseren, ikke deg.

3. Virkelig samhandling

WebDriver samhandler med sideelementer på en mer realistisk måte. For eksempel, hvis du har en deaktivert tekstboks på en side du testet, kan WebDriver virkelig ikke legge inn noen verdi i den akkurat som hvordan en ekte person ikke kan.

Selenium Core, akkurat som andre JavaScript-koder, har tilgang til deaktiverte elementer. Tidligere klager Selenium-testere at Selenium Core var i stand til å legge inn verdier i en deaktivert tekstboks i testene sine. Forskjeller i API

4. API

Selenium RCs API er mer modnet, men inneholder permitteringer og ofte forvirrende kommandoer . For eksempel er testere for det meste forvirret om de skal bruke type eller typeKeys; eller om du vil bruke click, mouseDown eller mouseDownAt. Verre, forskjellige nettlesere tolker hver av disse kommandoene på forskjellige måter også!

WebDrivers API er enklere enn Selenium RC . Den inneholder ikke overflødige og forvirrende kommandoer.

5. Nettleserstøtte

WebDriver kan støtte den hodeløse HtmlUnit-nettleseren

HtmlUnit blir betegnet som "hodeløs" fordi det er en usynlig nettleser - den er GUI-fri.

Det er en veldig rask nettleser fordi det ikke blir brukt tid på å vente på at sideelementene skal lastes inn. Dette akselererer testutførelsessyklusene dine.

Siden det er usynlig for brukeren, kan det bare styres på automatiserte måter.

Selenium RC støtter ikke hodeløs HtmlUnit-nettleser. Det trenger en ekte, synlig nettleser å operere på.

Begrensninger for WebDriver

WebDriver kan ikke lett støtte nye nettlesere

Husk at WebDriver fungerer på operativsystemnivå. Husk også at forskjellige nettlesere kommuniserer med operativsystemet på forskjellige måter. Hvis en ny nettleser kommer ut, kan den ha en annen kommunikasjonsprosess med operativsystemet sammenlignet med andre nettlesere. Så du må gi WebDriver-teamet litt tid til å finne ut den nye prosessen før de kan implementere den på neste WebDriver-utgivelse.

Det er imidlertid opp til WebDrivers team av utviklere å bestemme om de skal støtte den nye nettleseren eller ikke.

Selen RC har innebygd testresultatgenerator

Selenium RC genererer automatisk en HTML-fil med testresultater . Rapportformatet ble forhåndsinnstilt av RC selv. Se på et eksempel på denne rapporten nedenfor.

WebDriver har ingen innebygd kommando som automatisk genererer en testresultatfil . Du må stole på IDEs utgangsvindu, eller utforme rapporten selv ved hjelp av funksjonene til programmeringsspråket ditt og lagre det som tekst, HTML, etc.

Sammendrag

  • WebDriver er et verktøy for testing av webapplikasjoner i forskjellige nettlesere ved hjelp av forskjellige programmeringsspråk.
  • Du er nå i stand til å lage kraftige tester fordi WebDriver lar deg bruke et programmeringsspråk du ønsker når du designer testene dine.
  • WebDriver er raskere enn Selenium RC på grunn av sin enklere arkitektur.
  • WebDriver snakker direkte med nettleseren mens Selenium RC trenger hjelp fra RC Server for å gjøre det.
  • WebDrivers API er mer kortfattet enn Selenium RC.
  • WebDriver kan støtte HtmlUnit mens Selenium RC ikke kan.
  • De eneste ulempene med WebDriver er:
    • Det kan ikke lett støtte nye nettlesere , men Selenium RC kan.
    • Den har ikke en innebygd kommando for automatisk generering av testresultater.