vet du vad som är selen? Har du någon aning om varför den används? Om du vill ha svaret på dessa två frågor, vänta tills du läser hela innehållet i den här bloggen eftersom du kommer att vara glad att du tillbringade en värdig tid på att få en introduktion till vad som kan vara kärnan i din nästa jobbroll.
Automation testing tar världen med storm & selen certifiering är en av de mest eftertraktade färdigheter i branschen.
- Vad är selen?
- vilka är fördelarna med selen?
- behov av mjukvarutestning
- utmaningar med manuell testning
- Automatiseringstestning slår manuell testning
- selen vs QTP vs RFT
- selen svit av verktyg
- vilka är komponenterna i selen?
- selen RC (fjärrkontroll)
- selen IDE (Integrated Development Environment)
- Vad är selen Grid
- Vad är Selenium WebDriver
- fördelar med selen WebDriver
- kortslutningar av selen WebDriver
- Vad är selen? / Selenium Tutorial | Selenium Training/Edureka
Vad är selen?
selen är ett open source-verktyg som används för att automatisera de tester som utförs på webbläsare (webbapplikationer testas med vilken webbläsare som helst).
vänta, innan du blir borttagen, låt mig upprepa det, bara testning av webbapplikationer är möjlig med selen. Vi kan varken testa någon stationär (programvara) applikation eller testa någon mobilapplikation med Selenium.
det är en bummer rätt? Jag kan känna din smärta. Men oroa dig inte, det finns många verktyg för att testa programvara och mobila applikationer som: IBMs RFT, HP: s QPT, Appium och många fler. Men, fokus för denna blogg är, testa dynamiska webbapplikationer och varför selen är bäst för detta ändamål.
vilka är fördelarna med selen?
eftersom selen är öppen källkod är det ingen licenskostnad inblandad, vilket är en stor fördel jämfört med andra testverktyg. Andra orsaker bakom Selens ständigt växande popularitet är:
- testskript kan skrivas på något av dessa programmeringsspråk: Java, Python, C#, PHP, Ruby, Perl & .Net
- tester kan utföras i något av dessa operativsystem: Windows, Mac eller Linux
- tester kan utföras med vilken webbläsare som helst: Mozilla Firefox, Internet Explorer, Google Chrome, Safari eller Opera
- Det kan integreras med verktyg som TestNG & JUnit för hantering av testfall och generering av rapporter
- Det kan integreras med Maven, Jenkins & Docker för att uppnå kontinuerlig testning
men det måste säkert vara brister rätt?
- Vi kan bara använda selen för att testa webbapplikationer. Vi kan inte testa skrivbordsprogram eller någon annan programvara
- Det finns inget garanterat stöd tillgängligt för Selen. Vi måste utnyttja på tillgängliga kundgrupper
- Det är inte möjligt att utföra tester på bilder. Vi måste integrera selen med Sikuli för bildbaserad testning
- Det finns ingen inbyggd rapporteringsanläggning. Men vi kan övervinna det problemet genom att integrera det med ramar som TestNG eller JUnit
innan du går längre i denna What is Selenium blog, borde du veta historien bakom hur selen kom till vad det är idag. Så, låt oss förstå scenariot i nedanstående ordning:
-
- behov av mjukvarutestning
- utmaningar med manuell testning
- hur automatiseringstestning slår manuell testning?
- selen vs. andra testverktyg?
- selen svit av verktyg
behov av mjukvarutestning
programvarutestning är där allt kokar ner till. Dagens teknikvärld domineras helt av maskiner, och deras beteende styrs av programvaran som driver den. Kommer maskinerna att bete sig precis som vi vill att de ska? Varje gång? Överallt? Svaret på dessa frågor ligger i mjukvarutestning.
i slutet av dagen är det programvarans framgångsgrad som kommer att styra din affärstillväxt. Samma sak kan sägas även för webbapplikationer eftersom de flesta företag idag är helt beroende av internet.
ta till exempel alla e-handelsföretag. Vare sig det Amazon eller E-Bay eller Flipkart, de förlitar sig på kundtrafik på sina webbplatser och trafik på sina webbaserade mobila applikationer för företag.
Tänk dig, om något katastrofalt händer som priserna på ett antal produkter som är begränsade till 10$, allt på grund av en liten bugg i en ”inte så lättläst” del av koden. Vad kan då göras, och hur kan vi förhindra det nästa gång?
genom att testa koden före distribution rätt? Så det är behovet av mjukvarutestning. Men vad är selen? Är det ett testverktyg för programvara? Tja, selen är ett automatiseringstestverktyg!
innan jag går längre, låt mig rensa ut att programvarutestning är av två typer: Manuell testning & Automatiseringstestning. Selen grundades som ett automatiseringstestverktyg för att övervinna nackdelarna/ begränsningarna med manuell testning. Så, i nästa avsnitt av denna what is selenium blog, låt oss förstå utmaningarna med manuell testning.
utmaningar med manuell testning
manuell testning innebär att (web) – applikationen testas manuellt av QA-testare. Tester måste utföras manuellt i alla miljöer, med hjälp av en annan datamängd och framgång/ felfrekvens för varje transaktion bör registreras.
titta på ovanstående bild av en dålig kille, som manuellt verifierar de registrerade transaktionerna. De utmaningar han står inför orsakar trötthet, tristess, förseningar i arbetet, misstag och fel på grund av manuell ansträngning. Detta ledde till uppfinningen av selen (automation testing tool).
Automatiseringstestning slår manuell testning
Automatiseringstestning slår manuell testning varje gång. Varför? Eftersom det är snabbare, behöver mindre investeringar i mänskliga resurser, är det inte benäget för fel, frekvent utförande av tester är möjligt, stöder lights out-utförande, stöder regressionstestning och även funktionell testning.
låt oss ta ett liknande exempel som nämnts tidigare. Antag att det finns en inloggningssida och vi måste verifiera om alla inloggningsförsök lyckas, då blir det väldigt enkelt att skriva en kod som kommer att validera om alla transaktions – / inloggningsförsök är en framgång eller inte (automatiserad testkörning).
Dessutom kan dessa tester konfigureras på ett sådant sätt att de testas i olika miljöer och webbläsare. Vad mer kan man göra? Du kan automatisera genereringen av resultatfilen genom att schemalägga den för en viss tid under dagen. Då kan du också automatisera genereringen av rapporter baserat på dessa resultat och vad inte.
den viktigaste punkten är att automatiseringstestning gör en testares jobb mycket enklare. Kolla in bilden nedan som visar en mer avslappnad miljö där samma testare fungerar.
Nu, låt mig prata om selen i synnerhet.
låt oss nu se var selen står på marknaden.
selen vs QTP vs RFT
Jag har jämfört dess prestanda med två andra populära verktyg: QTP och RFT i tabellen nedan.
Features | HP QTP | IBM RFT | Selenium |
License | Required | Required | Open-source |
Cost | High | High | Open-source software |
Customer Support | Dedicated HP support | Dedicated IBM support | Open-source Community |
Hardware consumption during script execution | High | High | Low |
Coding experience | Not required | krävs | gott om kodningsförmåga och erfarenhet som behövs |
miljöstöd | endast för Windows | endast för Windows | Windows, Linux, Solaris OS X (om webbläsaren& JVM eller JavaScript-stöd finns) |
språkstöd | VB Script | Java och C# | Java, C#, Ruby, Python, Perl, PHP och JavaScript |
det är ganska tydligt från ovanstående tabell varför selen är den mest föredragna verktyg. Men det finns många smaker i selen och du bör veta vilket som är lämpligt rätt Selenverktyg för ditt behov.
selen svit av verktyg
- selen RC (nu skrivs)
- selen IDE
- selen Grid
- selen WebDriver
vilka är komponenterna i selen?
nedan har jag förklarat var och en av komponenterna i selen i detalj:
selen RC (fjärrkontroll)
innan jag pratar om detaljerna i selen RC, skulle jag vilja gå ett steg tillbaka och prata om det första verktyget i Selenium-projektet. Selenkärnan var det första verktyget. Men Selenium Core slog ett vägspärr när det gäller testning över domäner på grund av samma ursprungspolitik. Principen om samma ursprung förbjuder JavaScript-kod från att komma åt webbelement som är värd på en annan domän jämfört med där JavaScript lanserades.
för att övervinna policyproblemet med samma ursprung behövde testare 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. Detta ledde till födelsen av selen RC, som är ackrediterad till Thinkworks ingenjör, Paul Hammant.
RC övervann problemet genom att involvera en HTTP-proxyserver för att ”lura” webbläsaren att tro att Selenium Core och webbapplikationen som testas kommer från samma domän. Således gör RC ett tvåkomponentverktyg.
- selen RC Server
- selen RC Client – bibliotek som innehåller din programmeringsspråk kod
RC Server kommunicerar med enkla HTTP GET / POST förfrågningar. Titta på bilden nedan för att förstå RC-arkitekturen.
selen projektets flaggskeppsverktyg var selen RC eftersom det var deras första verktyg och det kunde användas för att skriva testfall på olika programmeringsspråk. Men nackdelen med RC är att varje kommunikation med RC-servern är tidskrävande och därmed RC är mycket långsam. Så långsam, att det ibland skulle ta timmar att slutföra enstaka tester.
Från selen v3 och framåt har RC avskrivits och flyttats till legacy package. Du kan dock ladda ner och arbeta med RC, men tyvärr kan du inte utnyttja stöd för det. Men på baksidan, varför skulle du vilja använda ett verktyg som är föråldrat, särskilt när det finns ett mer effektivt verktyg som kallas Selenium WebDriver. Innan jag pratar om WebDriver, låt mig diskutera om IDE och Grid, vilka är de andra verktygen som utgör Selenium v1.
selen IDE (Integrated Development Environment)
2006 hade Shinya Kastani från Japan donerat sin selen IDE-prototyp till Apaches Selenium-projekt. Det var ett Firefox-plugin för snabbare skapande av testfall. IDE implementerade en rekord-och uppspelningsmodell där testfall skapas genom att spela in de interaktioner som användaren hade med webbläsaren. Dessa tester kan sedan spelas upp valfritt antal gånger.
fördelen med selen IDE är att tester som spelats in via plugin kan exporteras på olika programmeringsspråk som: Java, Ruby, Python etc. Kolla in nedanstående skärmdump av Firefox IDE-plugin.
men de tillhörande bristerna i IDE är:
- Plug-in endast tillgänglig för Mozilla Firefox; inte för andra webbläsare
- Det är inte möjligt att testa dynamiska webbapplikationer; endast enkla tester kan spelas in
- testfall kan inte skriptas med programmeringslogik
- stöder inte datadriven testning
dessa var några av aspekterna av selen IDE. Låt mig nu prata om Selenium Grid.
Vad är selen Grid
selen Grid utvecklades av Patrick Lightbody och kallades ursprungligen HostedQA (ursprungligen en del av selen v1) och det användes i kombination med RC för att köra tester på fjärrmaskiner. Faktum är att med Grid kan flera testskript utföras samtidigt på flera maskiner.
parallellkörning uppnås med hjälp av Hub-Nodarkitektur. En maskin kommer att ta rollen som nav och de andra kommer att vara noderna. Hub styr testskript som körs på olika webbläsare i olika operativsystem. Testskript som körs på olika noder kan skrivas på olika programmeringsspråk.
Grid används fortfarande och fungerar med både WebDriver och RC. Att upprätthålla ett rutnät med alla nödvändiga webbläsare och operativsystem är dock en utmaning. För detta finns det flera onlineplattformar som tillhandahåller ett online Selenium-rutnät som du kan komma åt för att köra dina selenium automation-skript. Till exempel kan du använda LambdaTest. Den har mer än 2000 webbläsarmiljöer över vilka du kan köra dina tester och verkligen automatisera tester över webbläsare.
Vad är Selenium WebDriver
Selenium WebDriver grundades av Simon Stewart 2006 och var det första plattformstestramen som kunde styra webbläsaren från OS-nivå. Till skillnad från IDE tillhandahåller Selenium WebDriver ett programmeringsgränssnitt för att skapa och utföra testfall. Testfall skrivs så att webbelement på webbsidor identifieras och sedan utförs åtgärder på dessa element.
WebDriver är en uppgradering till RC eftersom det är mycket snabbare. Det är snabbare eftersom det ringer direkt till webbläsaren. RC å andra sidan behöver en RC-server för att interagera med webbläsaren. Varje webbläsare har sin egen drivrutin som programmet körs på. De olika WebDrivers är:
- Firefox-drivrutin (Gecko-drivrutin)
- Chrome-drivrutin
- Internet Explorer-drivrutin
- Opera-drivrutin
- Safari-drivrutin och
- HTM-enhetsdrivrutin
fördelar med selen WebDriver
- stöd för 7 programmeringsspråk: JAVA, C#, PHP, Ruby, Perl, Python och .Net.
- stöder testning på olika webbläsare som: Firefox, Chrome, IE, Safari
- tester kan utföras på olika operativsystem som: Windows, Mac, Linux, Android, iOS
- övervinner begränsningar av selen v1 som filuppladdning, nedladdning, popup-fönster & dialogrutor barriär
kortslutningar av selen WebDriver
- detaljerade testrapporter kan inte genereras
- testa bilder är inte möjligt
oavsett utmaningen, dessa brister kan övervinnas genom integrationer med andra ramar. För att testa bilder kan Sikuli användas, och för att generera detaljerade testrapporter kan TestNG användas.
så det drar slutsatsen till den här bloggen om vad som är selen. För att lära dig mer om Selenium WebDriver och TestNG, läs de andra bloggarna i denna Selenium tutorial blog-serie. Du kan alternativt se videon nedan levererad av en branschexpert där hon har delat sin åsikt om selen som ett automatiseringstestverktyg.
Vad är selen? / Selenium Tutorial | Selenium Training/Edureka
denna blogg ”Vad är selen” är den första i Selenium tutorial blog-serien. Håll ögonen öppna för Edurekas bloggsida för fler bloggar om selen.
Om du vill lära dig selen och bygga en karriär inom testdomänen, kolla in vår interaktiva, Live-online Selenium Certification-Utbildning här, som kommer med 24*7-stöd för att vägleda dig under hela din inlärningsperiod.