Hvad er selen? Introduktion til Selenium Automation Testing

Indholdsfortegnelse:

Anonim

Hvad er selen?

Selenium er en gratis (open source) automatiseret testramme, der bruges til at validere webapplikationer på tværs af forskellige browsere og platforme. Du kan bruge flere programmeringssprog som Java, C #, Python osv. Til at oprette Selenium Test Scripts. Test udført ved hjælp af Selen-testværktøjet kaldes normalt Selen-test.

Selenium-software er ikke kun et enkelt værktøj, men en pakke med software, der hver især er tilpasset forskellige organisations behov for Selen-QA-test. Her er listen over værktøjer

  • Selen integreret udviklingsmiljø (IDE)
  • Selen fjernbetjening (RC)
  • WebDriver
  • Selenet
Introduktion til selen

I øjeblikket flettes Selenium RC og WebDriver sammen til en enkelt ramme for at danne Selenium 2 . Selen 1 refererer forresten til Selen RC.

Klik her, hvis videoen ikke er tilgængelig

I denne vejledning lærer du:

  • Hvad er selen?
  • Hvem udviklede selen?
  • Samme oprindelsespolitiske problem
  • Fødsel af selen fjernbetjening (Selen RC)
  • Fødsel af selenet
  • Fødsel af selen IDE
  • Fødsel af WebDriver
  • Fødsel af selen 2
  • Så hvorfor kaldes selen?
  • Kort introduktion Selen IDE
  • Kort introduktion Selen fjernbetjening (Selen RC)
  • Kort introduktion WebDriver
  • Selenet
  • Bemærk om browser- og miljøsupport
  • Sådan vælger du det rigtige selenværktøj til dit behov
  • En sammenligning mellem selen og QTP (nu UFT)
  • Fordele ved QTP i forhold til selen

Hvem udviklede selen?

Da Selen er en samling af forskellige værktøjer, havde den også forskellige udviklere. Nedenfor er de nøglepersoner, der har givet bemærkelsesværdige bidrag til Selen-projektet

Primært blev selen oprettet af Jason Huggins i 2004 . En ingeniør hos ThoughtWorks, han arbejdede på en webapplikation, der krævede hyppig test. Efter at have indset, at den gentagne manuelle test af deres applikation blev mere og mere ineffektiv, oprettede han et JavaScript-program, der automatisk ville kontrollere browserens handlinger. Han kaldte dette program som " JavaScriptTestRunner ."

At se potentialet i denne idé til at hjælpe med at automatisere andre webapplikationer, lavede han JavaScriptRunner open-source, som senere blev omdøbt til Selenium Core .

Samme oprindelsespolitiske problem

Same Origin-politik forbyder JavaScript-kode adgang til elementer fra et domæne, der adskiller sig fra, hvor den blev lanceret . Eksempel: HTML-koden på www.google.com bruger et JavaScript-program "randomScript.js". Den samme oprindelsespolitik tillader kun randomScript.js at få adgang til sider på google.com såsom google.com/mail, google.com/login eller google.com/signup. Det kan dog ikke få adgang til sider fra forskellige websteder såsom yahoo.com/search eller guru99.com, fordi de hører til forskellige domæner.

Dette er grunden til, at testere før Selenium RC havde brug for at installere lokale kopier af både Selenium Core (et JavaScript-program) og webserveren, der indeholdt webapplikationen, der blev testet, så de ville høre til det samme domæne

Fødsel af selen fjernbetjening (Selen RC)

Desværre; testere, der brugte Selenium Core, måtte installere hele applikationen under test og webserveren på deres egne lokale computere på grund af de begrænsninger, der er pålagt af den samme oprindelsespolitik. Så en anden ThoughtWorks ingeniør, Paul Hammant , besluttede at oprette en server, der fungerer som en HTTP-proxy for at "narre" browseren til at tro, at Selen Core og den webapplikation, der testes, kommer fra det samme domæne. Dette system blev kendt som Selenium Remote Control eller Selenium 1 .

Fødsel af selenet

Selen Grid blev udviklet af Patrick Lightbody for at imødekomme behovet for at minimere testudførelsestider så meget som muligt. Han kaldte oprindeligt systemet " Hosted QA ." Det var i stand til at optage browserskærmbilleder i betydelige faser og også sende Selenium-kommandoer til forskellige maskiner samtidigt.

Fødsel af selen IDE

Shinya Kasatani fra Japan oprettede Selenium IDE , en Firefox-udvidelse, der kan automatisere browseren gennem en optagelses- og afspilningsfunktion. Han kom på denne idé for yderligere at øge hastigheden i oprettelsen af ​​testsager. Han donerede Selen IDE til Selenium Project i 2006 .

Fødsel af WebDriver

Simon Stewart oprettede WebDriver omkring 2006, da browsere og webapplikationer blev mere kraftfulde og mere restriktive med JavaScript-programmer som Selenium Core. Det var den første testramme på tværs af platforme, der kunne styre browseren fra OS-niveauet.

Fødsel af selen 2


I 2008 besluttede hele Selenium Team at fusionere WebDriver og Selenium RC til at danne et mere kraftfuldt værktøj kaldet Selenium 2 , hvor WebDriver er kernen . I øjeblikket er Selenium RC stadig under udvikling, men kun i vedligeholdelsestilstand. Det meste af Selen-projektets indsats er nu fokuseret på Selen 2.

Så hvorfor kaldes selen?

Navnet Selenium kom fra en vittighed, som Jason knækkede en gang til sit hold. Under Seleniums udvikling blev en anden automatiseret testramme populær lavet af virksomheden kaldet Mercury Interactive (ja, det firma, der oprindeligt lavede QTP, før det blev erhvervet af HP). Da selen er en velkendt modgift mod kviksølvforgiftning, foreslog Jason, at navnet og hans holdkammerater tog det. Så det var sådan, vi fik kaldt denne ramme op til nutiden.

Kort introduktion Selen IDE

Selen Integrated Development Environment (IDE) er den enkleste ramme i Selenium-pakken og er den nemmeste at lære . Det er et Firefox-plugin, som du kan installere så let som muligt med andre plugins. På grund af sin enkelhed bør Selen IDE dog kun bruges som et prototypeværktøj . Hvis du vil oprette mere avancerede testsager, skal du bruge enten Selenium RC eller WebDriver.

Kort introduktion Selen fjernbetjening (Selen RC)

Selenium RC var flagskibs testrammen for hele Selen-projektet i lang tid. Dette er det første automatiserede webtestværktøj, der tillod brugere at bruge et programmeringssprog, de foretrækker . Fra version 2.25.0 kan RC understøtte følgende programmeringssprog:

  • Java
  • C #
  • PHP
  • Python
  • Perl
  • Rubin

Kort introduktion WebDriver

WebDriver viser sig at være bedre end både Selen IDE og Selen RC i mange aspekter. Det implementerer en mere moderne og stabil tilgang til automatisering af browserens handlinger. WebDriver er i modsætning til Selenium RC ikke afhængig af JavaScript til Selenium Automation Testing. Det styrer browseren ved direkte at kommunikere med den.

De understøttede sprog er de samme som dem i Selenium RC.

  • Java
  • C #
  • PHP
  • Python
  • Perl
  • Rubin

Selenet

Selenium Grid er et værktøj, der bruges sammen med Selenium RC til at køre parallelle tests på tværs af forskellige maskiner og forskellige browsere på samme tid. Parallel udførelse betyder at køre flere tests på én gang.

Funktioner:

  • Aktiverer samtidig kørsel af tests i flere browsere og miljøer.
  • Sparer tid enormt.
  • Udnytter hub-and-nodes konceptet. Navet fungerer som en central kilde til Selen-kommandoer til hver knude, der er forbundet med den.

Bemærk om browser- og miljøsupport

På grund af deres arkitektoniske forskelle understøtter Selenium IDE, Selenium RC og WebDriver forskellige sæt browsere og driftsmiljøer.

Selen IDE WebDriver
Browser Support Mozilla Firefox Internet Explorer version 6 til 11, både 32 og 64-bit Microsoft Edge version 12.10240 og derover (delvis understøtter nogle funktioner under udvikling) Firefox 3.0 og derover Google Chrome 12.0. og derover Opera 11.5 og derover Android - 2.3 og nyere til telefoner og tablets (enheder og emulatorer) iOS 3+ til telefoner (enheder og emulatorer) og 3.2+ til tablets (enheder og emulatorer) HtmlUnit 2.9 og derover
Operativ system Windows, Mac OS X, Linux Alle operativsystemer, hvor ovenstående browsere kan køre.

Bemærk: Selen WebDriver betegnes som efterfølgeren til Selenium RC, som er udfaset og officielt annonceret af SeleniumHQ.

Sådan vælger du det rigtige selenværktøj til dit behov

Værktøj Hvorfor vælge?

Selen IDE

  • At lære om koncepter om automatiseret test og selen, herunder:
  • Selenese-kommandoer som type, åben, klik og vent, hæv, bekræft osv.
  • Findere som id, navn, xpath, css-vælger osv.
  • Udførelse af tilpasset JavaScript-kode ved hjælp af runScript
  • Eksport af testsager i forskellige formater.
  • At skabe tests med ringe eller ingen forkundskaber i programmering.
  • For at oprette enkle testsager og testpakker, som du senere kan eksportere til RC eller WebDriver.
  • At teste en webapplikation kun mod Firefox og Chrome.

Selen RC

  • At designe en test med et mere udtryksfuldt sprog end selenesisk
  • At køre din test mod forskellige browsere (undtagen HtmlUnit) på forskellige operativsystemer.
  • At implementere dine tests i flere miljøer ved hjælp af Selenium Grid.
  • At teste din ansøgning mod en ny browser, der understøtter JavaScript.
  • At teste webapplikationer med komplekse AJAX-baserede scenarier.

WebDriver

  • At bruge et bestemt programmeringssprog til at designe din testcase.
  • At teste applikationer, der er rige på AJAX-baserede funktioner.
  • At udføre test på HtmlUnit-browseren.
  • At skabe tilpassede testresultater.

Selenet

  • At køre dine Selenium RC-scripts i flere browsere og operativsystemer samtidigt.
  • For at køre en enorm testpakke skal den afsluttes hurtigst muligt.

En sammenligning mellem selen og QTP (nu UFT)

Quick Test Professional (QTP) er et proprietært automatiseret testværktøj, der tidligere var ejet af virksomheden Mercury Interactive, før det blev erhvervet af Hewlett-Packard i 2006 . Selenium Tool Suite har mange fordele i forhold til QTP som beskrevet nedenfor -

Fordele og fordele ved Selen over QTP

Selen QTP
Open source , gratis at bruge og gratis. Kommerciel .
Meget udvidelig Begrænsede tilføjelser
Kan køre tests på tværs af forskellige browsere Kan kun køre tests i Firefox , Internet Explorer og Chrome
Understøtter forskellige operativsystemer Kan kun bruges i Windows
Understøtter mobile enheder QTP understøtter mobilapptestautomatisering (iOS og Android) ved hjælp af HP-løsning kaldet - HP Mobile Center
Kan udføre test , mens den browser er minimeret Brug for at have applikationen under test for at være synlig på skrivebordet
Kan udføre tests parallelt . Kan kun udføres parallelt, men ved hjælp af Quality Center, som igen er et betalt produkt.

Fordele ved QTP i forhold til selen

Fordele ved QTP i forhold til selen
QTP Selen
Kan teste både web- og desktop-applikationer Kan kun teste webapplikationer
Leveres med et indbygget objektopbevaringssted Har intet indbygget objektlager
Automatiserer hurtigere end Selen, fordi det er en fuldt udstyret IDE. Automatiseres i en langsommere hastighed, fordi den ikke har en indfødt IDE, og kun tredjeparts IDE kan bruges til udvikling
Datadrevet test er lettere at udføre, fordi den har indbyggede globale og lokale datatabeller . Datadrevet test er mere besværlig, da du er afhængig af programmeringssprogets muligheder for at indstille værdier til dine testdata
Kan få adgang til kontroller i browseren (såsom favoritbjælken, adresselinjen, knapperne Tilbage og fremad osv.) Kan ikke få adgang til elementer uden for den webapplikation, der testes
Giver professionel kundesupport Der tilbydes ingen officiel brugerstøtte.
Har indfødt evne til at eksportere testdata til eksterne formater Har ingen indbygget evne til at eksportere runtime-data til eksterne formater
Parameterisering Support er bygget Parametrering kan ske via programmering, men er vanskelig at implementere.
Testrapporter genereres automatisk Ingen native support til at generere test / bug rapporter.

Selvom QTP klart har mere avancerede kapaciteter, opvejer Selenium QTP inden for tre hovedområder:

  • Omkostninger (fordi selen er helt gratis)
  • Fleksibilitet (på grund af et antal programmeringssprog, browsere og platforme, den kan understøtte)
  • Parallel test (noget, som QTP er i stand til, men kun ved brug af Quality Center)

Resumé

  • Hele Selenium Software Testing Suite består af fire komponenter:
  • Selen IDE, en Firefox-tilføjelse, som du kun kan bruge til at oprette relativt enkle testsager og testpakker.
  • Selen Fjernbetjening, også kendt som Selen 1, som er det første Selen-værktøj, der tillod brugere at bruge programmeringssprog til at oprette komplekse tests.
  • WebDriver, det nyere gennembrud, der gør det muligt for dine testscripts at kommunikere direkte til browseren og derved kontrollere det fra OS-niveauet.
  • Selenium Grid er også et værktøj, der bruges med Selenium RC til at udføre parallelle tests på tværs af forskellige browsere og operativsystemer.
  • Selen RC og WebDriver blev fusioneret til dannelse af Selenium 2.
  • Selen er mere fordelagtigt end QTP med hensyn til omkostninger og fleksibilitet. Det giver dig også mulighed for at køre tests parallelt, i modsætning til i QTP, hvor du kun har lov til at køre tests sekventielt.