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
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
|
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.
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)
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
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
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
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.
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.
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
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
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
|
|
---|---|
Selenium IDE |
|
selen RC |
|
WebDriver |
|
selen Grid |
|
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
|
|
---|---|
ö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
|
|
---|---|
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.
Leave a Reply