Articles

Vad är selen? Introduktion till Selenium Automation Testing

Vad är selen?

selen är en fri (öppen källkod) automatiserad testning ram som används för att validera webbapplikationer över olika webbläsare och plattformar. Du kan använda flera programmeringsspråk som Java, C#, Python etc för att skapa Selenium testskript. Testning som görs med Selenium testing tool kallas vanligtvis Selenium Testing.

selen programvara är inte bara ett enda verktyg utan en svit av programvara, varje bit catering till olika selen QA testning behov av en organisation. Här är listan över verktyg

  • selen integrerad utvecklingsmiljö (IDE)
  • selen fjärrkontroll (RC)
  • WebDriver
  • selen Grid

introduktion till selen
introduktion till selen

för närvarande slås selen RC och webdriver samman i en enda ram för att bilda Selen 2. Selen 1, förresten, hänvisar till selen RC.

Klicka här om videon inte är tillgänglig

i den här handledningen lär du dig:

  • Vad är selen?
  • vem utvecklade selen?
  • samma Ursprungspolitisk fråga
  • födelse av selen fjärrkontroll (selen RC)
  • födelse av selen rutnät
  • födelse av selen IDE
  • födelse av WebDriver
  • födelse av Selen 2
  • så varför namnet selen?kort introduktion selen IDE
  • kort introduktion selen fjärrkontroll (selen RC)
  • kort introduktion WebDriver
  • selen Grid
  • Obs på webbläsare och miljöstöd
  • hur man väljer rätt selen verktyg för ditt behov
  • en jämförelse mellan selen och QTP (nu UFT)
  • fördelar med QTP över selen

vem utvecklade selen?

eftersom selen är en samling olika verktyg, hade det också olika utvecklare. Nedan är de viktigaste personerna som gjorde anmärkningsvärda bidrag till Selenium-projektet

introduktion till selen

främst skapades selen av Jason Huggins 2004. En ingenjör på ThoughtWorks, han arbetade på en webbapplikation som krävde frekvent testning. Efter att ha insett att den upprepade manuella testningen av deras applikation blev mer och mer ineffektiv skapade han ett JavaScript-program som automatiskt skulle styra webbläsarens åtgärder. Han namngav detta program som ” JavaScriptTestRunner.”

ser potential i den här tanken att hjälpa till att automatisera andra webbapplikationer, gjorde han JavaScriptRunner öppen källkod som senare namngavs som Selenium Core.

samma Ursprungspolicy

samma ursprungspolicy förbjuder JavaScript-kod från att komma åt element från en domän som skiljer sig från var den lanserades. Exempel HTML-koden i www.google.com använder ett JavaScript-program ” randomScript.js”. Samma ursprungspolicy tillåter endast randomScript.js för att komma åt sidor inom google.com såsom google.com/mail, google.com/login eller google.com/signup. det kan dock inte komma åt sidor från olika webbplatser som yahoo.com/search eller guru99.com eftersom de tillhör olika domäner.

introduktion till selen

detta är anledningen till att testare före Selenium RC behövde installera lokala kopior av både Selenium Core (ett JavaScript-program) och webbservern som innehåller webbapplikationen som testas så att de skulle tillhöra samma domän

födelse av selen fjärrkontroll (selen RC)

introduktion till selen

tyvärr; testare som använde Selenium Core var tvungna att installera hela applikationen som testades och webbservern på sina egna lokala datorer på grund av de begränsningar som infördes av samma ursprungspolicy. Så en annan Thoughtworks ingenjör, Paul Hammant, bestämde sig för att skapa en server som kommer att fungera som en HTTP-proxy för att ”lura” webbläsaren att tro att Selenium Core och webbapplikationen som testas kommer från samma domän. Detta system blev känt som selen fjärrkontroll eller selen 1.

födelse av selen Grid

introduktion till selen

selen Grid utvecklades av Patrick Lightbody för att tillgodose behovet av att minimera testkörningstider så mycket som möjligt. Han kallade ursprungligen systemet ” värd QA.”Det kunde fånga webbläsarskärmbilder under betydande steg, och även att skicka ut Selenkommandon till olika maskiner samtidigt.

födelse av selen IDE

introduktion till selen

Shinya Kasatani i Japan skapade selen IDE, en Firefox-förlängning som kan automatisera webbläsaren via en rekord-och uppspelningsfunktion. Han kom med den här tanken för att ytterligare öka hastigheten för att skapa testfall. Han donerade selen IDE till Selenium-projektet 2006.

födelse av WebDriver

introduktion till selen Simon Stewart skapade WebDriver cirka 2006 när webbläsare och webbapplikationer blev kraftfullare och mer restriktiva med JavaScript-program som Selenium Core. Det var det första plattformstestramen som kunde styra webbläsaren från OS-nivån.

födelse av Selen 2

under 2008 beslutade hela Selenium-teamet att slå samman WebDriver och selen RC för att bilda ett kraftfullare verktyg som heter Selenium 2, med WebDriver som kärnan. För närvarande utvecklas selen RC fortfarande men endast i underhållsläge. De flesta av Selenium-projektets ansträngningar är nu inriktade på selen 2.

så, varför namnet selen?

namnet selen kom från ett skämt som Jason knäckt en gång till sitt lag. Under Seleniens utveckling var ett annat automatiserat testramverk populärt gjort av företaget Mercury Interactive (ja, företaget som ursprungligen tillverkade QTP innan det förvärvades av HP). Eftersom selen är en välkänd motgift mot kvicksilverförgiftning, föreslog Jason det namnet och hans lagkamrater tog det. Så det var så vi fick kalla denna ram fram till idag.

ursprunget till namnet selen framework

kort introduktion selen IDE

selen Integrated Development Environment (IDE) är det enklaste ramverket i Selenium suite och är det enklaste att lära sig. Det är ett Firefox-plugin som du kan installera så enkelt som möjligt med andra plugins. På grund av sin enkelhet bör selen IDE endast användas som ett prototypverktyg. Om du vill skapa mer avancerade testfall måste du använda antingen Selenium RC eller WebDriver.

fördelar och nackdelar med selen IDE

kort introduktion selen fjärrkontroll (selen RC)

selen RC var flaggskeppstestramen för hela selen-projektet under lång tid. Detta är det första automatiserade webbtestverktyget som gjorde det möjligt för användare att använda ett programmeringsspråk de föredrar. Från och med version 2.25.0 kan RC stödja följande programmeringsspråk:

  • Java
  • c#
  • PHP
  • Python
  • Perl
  • Ruby

fördelar och nackdelar med selen RC

kort introduktion WebDriver

webdriveren visar sig vara bättre än både selen ide och selen RC i många aspekter. Det implementerar ett mer modernt och stabilt tillvägagångssätt för att automatisera webbläsarens åtgärder. WebDriver, till skillnad från Selenium RC, förlitar sig inte på JavaScript för Selenium Automation-testning. Den styr webbläsaren genom att direkt kommunicera med den.

de språk som stöds är desamma som i Selenium RC.

  • Java
  • c#
  • PHP
  • Python
  • Perl
  • Ruby

fördelar och nackdelar med selen Webdriver

selen Grid

selenium Grid är ett verktyg som används tillsammans med selenium RC för att köra parallella tester över olika maskiner och olika webbläsare samtidigt. Parallellkörning innebär att man kör flera tester samtidigt.

funktioner:

  • möjliggör samtidig körning av tester i flera webbläsare och miljöer.
  • sparar tid enormt.
  • använder nav-och-noder-konceptet. Navet fungerar som en central källa till Selenkommandon till varje nod som är ansluten till den.

Obs på webbläsare och miljöstöd

På grund av deras arkitektoniska skillnader stöder selen IDE, selen RC och WebDriver olika uppsättningar webbläsare och 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 och högre för telefoner och surfplattor
(enheter & emulatorer)
iOS 3+ för telefoner (enheter & emulatorer) och 3.2+ för tabletter (enheter & emulatorer)
HtmlUnit 2.9 och högre
operativsystem Windows, Mac OS X, Linux alla operativsystem där webbläsarna ovan kan köras.

Obs: Selen WebDriver benämns som efterföljaren av selen RC som har avlägsnats & officiellt tillkännagivet av SeleniumHQ.

hur man väljer rätt selen verktyg för ditt behov

verktyg

Varför välja?

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.
  • för att skapa tester med liten eller ingen förkunskaper i programmering.
  • för att skapa enkla testfall och testsviter som du senare kan exportera till RC eller WebDriver.
  • för att testa en webbapplikation endast mot Firefox och Chrome.

selen RC

  • för att designa ett test med ett mer uttrycksfullt språk än Selenese
  • för att köra testet mot olika webbläsare (utom HtmlUnit) på olika operativsystem.
  • för att distribuera dina tester över flera miljöer med Selenium Grid.
  • för att testa din ansökan mot en ny webbläsare som stöder JavaScript.
  • för att testa webbapplikationer med komplexa AJAX-baserade scenarier.

WebDriver

  • för att använda ett visst programmeringsspråk vid utformningen av ditt testfall.
  • för att testa applikationer som är rika på AJAX-baserade funktioner.
  • för att utföra tester på htmlunit-webbläsaren.
  • för att skapa anpassade testresultat.

selen Grid

  • för att köra dina selen RC-skript i flera webbläsare och operativsystem samtidigt.
  • för att köra en enorm testpaket måste den slutföras på kortast möjliga tid.

en jämförelse mellan selen och QTP(nu UFT)

Quick Test Professional(QTP) är ett proprietärt automatiserat testverktyg som tidigare ägdes av företaget Mercury Interactive innan det förvärvades av Hewlett-Packard 2006. Selen Tool Suite har många fördelar jämfört med QTP som beskrivs nedan –

fördelar och fördelar med selen över QTP

selen
QTP
öppen källkod, gratis att använda och gratis. kommersiell.
mycket utbyggbar begränsade tillägg
kan köra tester över olika webbläsare kan bara köra tester i Firefox, Internet Explorer och Chrome
stöder olika operativsystem kan endast användas i Windows
stöder mobila enheter QTP stöder mobilappstestautomatisering (iOS & Android) med HP-lösning som heter – HP Mobile center
kan utföra tester medan webbläsaren minimeras måste ha programmet under test för att vara synlig på skrivbordet
kan utföra tester parallellt. kan bara köras parallellt men använder Quality Center som återigen är en betald 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
automatiserar snabbare än selen eftersom det är en fullt utrustad IDE. automatiserar i en långsammare takt eftersom den inte har en inbyggd IDE och endast tredje part IDE kan användas för utveckling
datadriven testning är lättare att utföra eftersom den har inbyggda globala och lokala datatabeller. datadriven testning är mer besvärlig eftersom du måste lita på programmeringsspråkets möjligheter för att ställa in värden för dina testdata
kan komma åt kontroller i webbläsaren(till exempel favoritfältet, adressfältet, bakåt och framåt-knapparna etc.) kan inte komma åt element utanför webbapplikationen under test
ger professionell kundsupport ingen officiell användarsupport erbjuds.
har inbyggd förmåga att exportera testdata till externa format har ingen inbyggd förmåga att exportera runtime-data till externa format
parameterisering stöd är byggt parameterisering kan göras via programmering men är svår att implementera.
testrapporter genereras automatiskt inget inbyggt stöd för att generera test / felrapporter.

men klart, QTP har mer avancerade funktioner, selen uppväger QTP i tre huvudområden:

  • kostnad(eftersom selen är helt gratis)
  • flexibilitet(på grund av ett antal programmeringsspråk, webbläsare och plattformar som den kan stödja)
  • parallell testning(något som QTP kan men endast med användning av kvalitet Center)

sammanfattning

  • hela selenium software testing suite består av fyra komponenter:
  • selen IDE, ett Firefox-tillägg som du bara kan använda för att skapa relativt enkla testfall och testsviter.
  • Selenium fjärrkontroll, även känd som selen 1, vilket är det första Seleniumverktyget som gjorde det möjligt för användare att använda programmeringsspråk för att skapa komplexa tester.
  • WebDriver, det nyare genombrottet som gör att dina testskript kan kommunicera direkt till webbläsaren och därigenom styra den från OS-nivån.
  • selen Grid är också ett verktyg som används med selen RC för att utföra parallella tester över olika webbläsare och operativsystem.
  • selen RC och WebDriver slogs samman för att bilda Selen 2.
  • selen är mer fördelaktigt än QTP när det gäller kostnader och flexibilitet. Det låter dig också köra tester parallellt, till skillnad från i QTP där du bara får köra tester sekventiellt.