Articles

Hvad er selen? Introduktion til Selenautomatiseringstest

Hvad er selen?

selen er en gratis (open source) automatiseret testramme, der bruges til at validere applikationer på tværs af forskellige platforme. Du kan bruge flere programmeringssprog som Java, C#, Python osv. Test udført ved hjælp af selen test værktøj er normalt omtales som selen test. Selenprogram er ikke kun et enkelt værktøj, men en pakke af programmer, der hvert stykke imødekommer forskellige Selenkvalitetstestbehov i en organisation. Her er listen over værktøjer

  • selen Integrated Development Environment (IDE)
  • selen Remote Control (RC)
  • selen Grid

introduktion til selen
Introduktion til selen

i øjeblikket flettes selen RC og netdriver i en enkelt ramme for at danne selen 2. Selen 1 henviser forresten til selen RC.

Klik her, hvis videoen ikke er tilgængelig

i denne vejledning lærer du:

  • hvad er selen?
  • hvem udviklede selen?
  • det samme Oprindelsespolitiske problem
  • fødsel af selen fjernbetjening (selen RC)
  • fødsel af selen Grid
  • fødsel af selen IDE
  • fødsel af fører
  • fødsel af Selen 2
  • så hvorfor navnet selen?
  • kort introduktion selen IDE
  • kort introduktion selen fjernbetjening (selen RC)
  • kort introduktion driver
  • selen Grid
  • Note om bro. ser og miljø Support
  • Sådan vælger du det rigtige selen værktøj til dit behov
  • en sammenligning mellem selen og selen(nu UFT)
  • fordele ved selen frem for 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 lavede bemærkelsesværdige bidrag til selen-projektet

Introduktion til selen

primært blev selen skabt af Jason Huggins i 2004. En ingeniør ved Tankeværker, han arbejdede på en internetapplikation, 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 bro.sererens handlinger. Han kaldte dette program som ” JavaScriptTestRunner.”

da han så potentialet i denne ide til at hjælpe med at automatisere andre internetapplikationer, lavede han JavaScriptRunner open source, som senere blev omdøbt til Selenkernen.

samme Oprindelsespolitik forbyder JavaScript-kode at få adgang til elementer fra et domæne, der er forskelligt fra hvor det blev lanceret. Eksempel HTML-koden i www.google.com bruger et JavaScript-program ” randomScript.js”. Den samme oprindelsespolitik tillader kun randomScript.js for at få adgang til sider inden for google.com såsom google.com/mail, google.com/login eller google.com/signup. det kan dog ikke få adgang til sider fra forskellige sider, såsom yahoo.com/search eller guru99.com fordi de tilhører forskellige domæner.

Introduktion til selen

Dette er grunden til, at testere forud for selen RC skulle installere lokale kopier af både Selenkernen (et JavaScript-program) og internetserveren, der indeholder internetapplikationen, der testes, så de ville tilhøre det samme domæne

fødsel af selen fjernbetjening (selen RC)

introduktion til selen

desværre; testere, der brugte Selenium Core, måtte installere hele applikationen under test og internetserveren på deres egne lokale computere på grund af de begrænsninger, der blev pålagt af den samme oprindelsespolitik. Så en anden Tankearbejdsingeniør, Paul Hammant, besluttede at oprette en server, der vil fungere som en HTTP-fuldmagt til at “narre” bro.sereren til at tro, at Selenkernen og den internetapplikation, der testes, kommer fra det samme domæne. Dette system blev kendt som selen fjernbetjening eller selen 1.

fødsel af Selengitter

Introduktion til selen

Selengitter blev udviklet af Patrick Lightbody for at imødekomme behovet for at minimere testudførelsestider så meget som muligt. Han kaldte oprindeligt systemet ” hosted kvalitetssikring.”Det var i stand til at fange skærmbilleder i betydelige faser og også at sende Selenkommandoer til forskellige maskiner samtidigt.

fødsel af selen IDE

Introduktion til selen

Shinya Kasatani fra Japan oprettede selen IDE, en firefoks-udvidelse, der kan automatisere bro.ser gennem en Optag-og-afspilningsfunktion. Han kom op med denne ide for yderligere at øge hastigheden i at skabe testsager. Han donerede selen IDE til selen-projektet i 2006.

Introduktion til selenSimon Stuart oprettede Netdriver omkring 2006, da bro.Serere og internetapplikationer blev mere magtfulde og mere restriktive med JavaScript-programmer som selen Core. Det var den første testramme på tværs af platforme, der kunne kontrollere bro.ser fra OS-niveau.

fødsel af Selen 2

i 2008 besluttede hele Selenteamet at fusionere Netdriver og selen RC for at danne et mere kraftfuldt værktøj kaldet Selen 2, Hvor Netdriver er kernen. I øjeblikket er selen RC stadig under udvikling, men kun i vedligeholdelsestilstand. Det meste af Selenprojektets indsats er nu fokuseret på Selen 2.

så hvorfor navnet selen?

navnet selen kom fra en vittighed, som Jason knækkede en gang til sit hold. Under selens udvikling blev en anden automatiseret testramme populær lavet af firmaet kaldet Mercury Interactive (ja, det firma, der oprindeligt lavede ktp, 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 er sådan, vi kom til at kalde denne ramme op til nutiden.

oprindelsen af navnet på selen ramme

kort introduktion selen IDE

selen integreret udviklingsmiljø (IDE) er den enkleste ramme i selen suite og er den nemmeste at lære. Det er et plugin, som du kan installere så nemt 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 testcases, skal du bruge enten selen RC eller Internetdriver.

fordele og ulemper ved selen IDE

kort introduktion selen fjernbetjening (selen RC)

selen RC var flagskibstestrammen for hele selen-projektet i lang tid. Dette er det første automatiserede testvæ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
  • Ruby

fordele og ulemper ved selen RC

kort introduktion

netdriveren 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 bro.sererens handlinger. I modsætning til Selenium RC er Selenium RC ikke afhængig af JavaScript til Selenautomatiseringstest. Det styrer bro.ser ved direkte at kommunikere med det.

de understøttede sprog er de samme som i selen RC.

  • Java
  • C#
  • PHP
  • Python
  • Perl
  • Ruby

fordele og ulemper ved selen driver

selen grid

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

funktioner:

  • muliggør samtidig kørsel af tests i flere forskellige miljøer.
  • sparer tid enormt.
  • bruger hub-and-nodes-konceptet. Navet fungerer som en central kilde til Selenkommandoer til hver knude, der er forbundet med den.

Bemærk om bro.ser og miljøstøtte

På grund af deres arkitektoniske forskelle understøtter selen IDE, selen RC og Netdriver forskellige sæt bro. sere og driftsmiljøer.

Selenium IDE WebDriver
Browser Support Mozilla Firefox Internet Explorer versions 6 to 11, both 32 and 64-bit
Microsoft Edge version 12.10240 & above ( partial support some functionalities under development)
Firefox 3.0 and above
Google Chrome 12.0. and above
Opera 11.5 and above
Android – 2.3 og derover for telefoner og tablets
(enheder & emulatorer)
iOS 3+ For telefoner (enheder & emulatorer) og 3.2+ for tabletter (enheder & emulatorer)
HtmlUnit 2.9 og derover
operativsystem alle operativsystemer, hvor søgemaskinerne ovenfor kan køre.

Bemærk: Selenium RC, som er blevet forældet & officielt annonceret af Seleniumhk.

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

  • for at designe en test ved hjælp af et mere ekspressivt sprog end Selenese
  • for at køre din test mod forskellige bro.sere (undtagen HtmlUnit) på forskellige operativsystemer.
  • for at implementere dine tests på tværs af flere miljøer ved hjælp af selen Grid.
  • for at teste din applikation mod en ny bro. ser, der understøtter JavaScript.
  • for at teste applikationer med komplekse scenarier.
  • for at køre dine selen RC scripts i flere bro.sere og operativsystemer samtidigt.
  • for at køre en enorm testpakke, der skal gennemføres hurtigst muligt.
værktøj
Hvorfor vælge?

Selenium IDE

  • To learn about concepts on automated testing and Selenium, including:
  • Selenese commands such as type, open, clickAndWait, assert, verify, etc.
  • Locators such as id, name, xpath, css selector, etc.
  • Executing customized JavaScript code using runScript
  • Exporting test cases in various formats.
  • for at oprette tests med ringe eller ingen forudgående viden inden for programmering.
  • for at oprette enkle testcases og test suiter, som du senere kan eksportere til RC eller Internetdriver.
  • for kun at teste en internetapplikation mod Chrome.

selen RC

driver

  • for at bruge et bestemt programmeringssprog til at designe din testsag.
  • for at teste applikationer, der er rige på funktionaliteter.
  • for at udføre test på HtmlUnit.
  • for at oprette tilpassede testresultater.

selen Grid

en sammenligning mellem selen og ktp(nu UFT)

hurtig Test Professionel(ktp) er et proprietært automatiseret testværktøj, der tidligere var ejet af firmaet Mercury Interactive, før det blev erhvervet af Packard i 2006. Selen Tool Suite har mange fordele i forhold til ktp som beskrevet nedenfor –

fordele og fordele ved selen i forhold til ktp

mobil app test automation (iOS & Android) ved hjælp af HP-løsning kaldet – HP Mobile center

selen
ktp
open source, gratis at bruge og gratis. Kommerciel.
begrænsede tilføjelser
kan køre tests på tværs af forskellige bro. sere kan kun køre tests i Chrome
understøtter forskellige operativsystemer kan kun bruges i vinduer
kan udføre test, mens bro. ser er minimeret skal have applikationen under test for at være synlig på skrivebordet
kan udføre tests parallelt. kan kun udføre parallelt, men ved hjælp af Kvalitetscenter, som igen er et betalt produkt.

Advantages of QTP over Selenium

Advantages of QTP over Selenium
QTP
Selenium
Can test both web and desktop applications Can only test web applications
Comes with a built-in object repository Has no built-in object repository
automatiserer hurtigere end selen, fordi det er en fuldt udstyret IDE. automatiserer med en langsommere hastighed, fordi den ikke har en indbygget 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ærligt, da du er nødt til at stole på programmeringssprogets muligheder for at indstille værdier for dine testdata
kan få adgang til kontroller i Bro.sereren(f. eks.) kan ikke få adgang til elementer uden for internetapplikationen under test
giver professionel kundesupport der tilbydes ingen officiel brugersupport.
har indbygget evne til at eksportere testdata til eksterne formater har ingen indbygget evne til at eksportere runtime-data til eksterne formater
parameterisering Support er bygget parameterisering kan udføres via programmering, men er vanskelig at implementere.
testrapporter genereres automatisk ingen native support til at generere test / fejlrapporter.

selvom det er klart, at ktp har mere avancerede kapaciteter, opvejer selen ktp i tre hovedområder:

  • omkostninger(fordi selen er helt gratis)
  • fleksibilitet(på grund af et antal programmeringssprog, bro. sere og platforme, det kan understøtte)
  • Parallel test(noget, som ktp er i stand til, men kun med brug af kvalitetscenter)

resume

  • hele selen-testpakken består af fire komponenter:
  • selen IDE, en firefoks-tilføjelse, som du kun kan bruge til at skabe relativt enkle testcases og testsuiter.
  • selen fjernbetjening, også kendt som selen 1, som er det første selen værktøj, der tillod brugere at bruge programmeringssprog til at skabe komplekse tests.
  • Internetdriver, det nyere gennembrud, der gør det muligt for dine testskripter at kommunikere direkte til bro.sereren og derved kontrollere det fra OS-niveauet.
  • selen Grid er også et værktøj, der bruges med selen RC til at udføre parallelle tests på tværs af forskellige bro.sere og operativsystemer.
  • selen RC og Netdriver blev fusioneret til at danne Selen 2.
  • selen er mere fordelagtigt end ktp med hensyn til omkostninger og fleksibilitet. Det giver dig også mulighed for at køre test parallelt, i modsætning til i ktp, hvor du kun har lov til at køre test sekventielt.