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

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 |
|
Selen RC |
|
WebDriver |
|
Selenet |
|
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
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.