En komplet liste over de bedste Selenium Tutorials til at lære og mestre Selenium fra bunden:
Efter flere hyppige anmodninger fra STH-læsere er vi i dag endelig i stand til at lancering af vores GRATIS Selenium Tutorial-serie I denne Selenium-træningsserie vil vi dække alle Selenium-testkoncepter og pakker i detaljer med letforståelige praktiske eksempler.
Disse Selenium-tutorials er nyttige for begyndere og avancerede Selenium-brugere. Vi starter med de helt grundlæggende Selenium-koncepter og går gradvist videre til de avancerede emner som f.eks. oprettelse af rammer, Selenium Grid og Cucumber BDD.
En komplet liste over Selenium-vejledninger i denne serie:
Grundlæggende om selen:
- Vejledning #1 : Introduktion til Selenium-testning (Skal læses)
- Vejledning nr. 2 : Selenium IDE-funktioner, download og installation af Selenium
- Vejledning nr. 3 : Mit første Selenium IDE-script (Skal læses)
- Vejledning nr. 4 : Oprettelse af et script ved hjælp af Firebug og dets installation
- Vejledning nr. 5 : Lokalisatortyper: ID, ClassName, Name, Link Text, Xpath
- Vejledning nr. 6 : Locator Typer: CSS Selector
- Vejledning nr. 7 : Lokalisering af elementer i Google Chrome og IE
Selenium WebDriver:
- Vejledning nr. 8 : Introduktion til Selenium WebDriver (Skal læses)
- Vejledning nr. 9 : Installation af Selenium WebDriver med eclipse
- Vejledning nr. 10 : Mit første Selenium WebDriver-script (Skal læses)
- Vejledning nr. 11 : Introduktion til JUnit
- Vejledning nr. 12: Introduktion til TestNG (Skal læses)
- Vejledning nr. 13 : Håndtering af drop-downs
- Vejledning nr. 14 : Looping og betingede kommandoer
- Vejledning nr. 15 : Eksplicit og implicit ventetid
- Vejledning nr. 16 : Håndtering af advarsler/popups
- Vejledning nr. 17 : Almindeligt anvendte kommandoer
- Vejledning nr. 18 : Håndtering af webtabeller, rammer og dynamiske elementer
- Vejledning nr. 19 : Håndtering af undtagelser
Selenium Framework:
- Vejledning nr. 20 : De mest populære rammer for testautomatisering (Skal læses)
- Vejledning nr. 21 : Oprettelse af Selenium Framework & Adgang til testdata fra Excel (Skal læses)
- Vejledning nr. 22 : Oprettelse af generiske elementer og testsuite
- Vejledning nr. 23 : Brug af Apache ANT
- Vejledning nr. 24 : Opsætning af Selenium Maven-projekt
- Vejledning nr. 25 : Brug af Hudson værktøj til kontinuerlig integration
Avanceret selen:
- Vejledning nr. 26 : Logning i Selenium
- Vejledning nr. 27 : Tips og tricks til Selenium Scripting
- Vejledning nr. 28 : Databaseafprøvning ved hjælp af Selenium WebDriver
- Vejledning nr. 29 : Introduktion til Selenium Grid (Skal læses)
- Vejledning nr. 30 : Automatiseringstest ved hjælp af Cucumber og Selenium Del -1
- Vejledning nr. 31 : Integration af Selenium WebDriver med Cucumber Del -2
- Tutorial #32: Assertions i Selenium ved hjælp af Junit og TestNG Frameworks
- Vejledning nr. 33: Selenium Assertion Eksempler - Praktiske anvendelser i projekter
- Vejledning nr. 34: Page Object Model i Selenium uden brug af Page Factory
- Vejledning nr. 35: Sideobjektmodel i Selenium ved hjælp af Page Factory
- Vejledning nr. 36: Selenium-ramme med nøgleord med eksempler
- Vejledning nr. 37: Hvad er Hybrid Framework i Selenium?
- Vejledning nr. 38: Sådan håndteres Windows Pop Up i Selenium Brug AutoIT
- Vejledning nr. 39: Fejlfindingsteknikker i Selenium
- Vejledning nr. 40: Håndtering af IFrames ved hjælp af Selenium WebDriver SwitchTo() Metode
- Vejledning nr. 41: XPath-funktioner til dynamisk Xpath i Selenium
- Vejledning nr. 42: Xpath-aksler til dynamisk Xpath i Selenium
- Vejledning nr. 43: WebDriver Listeners i Selenium
- Vejledning nr. 44: Sådan vælges afkrydsningsfeltet i Selenium med eksempler
- Vejledning nr. 45: Sådan håndteres Scroll Bar i Selenium Webdriver
- Vejledning nr. 46: Sådan tager du et skærmbillede i Selenium
- Vejledning nr. 47: Hvordan vælger man radioknapper i Selenium WebDriver?
- Tutorial #48: Selenium-handlinger: Håndtering af dobbelt & Højreklik i Selenium
- Vejledning nr. 49: Sådan uploader du en fil ved hjælp af Selenium Webdriver - 3 metoder
Selenium-tips og forberedelse til interview:
- Vejledning nr. 50 : Selenium-projektets testindsatsvurdering
- Vejledning nr. 51 : Selenium-interviewspørgsmål og -svar
Hvordan begynder man at lære Selenium?
Dette er det bedste tidspunkt at begynde at lære Selenium-testning på egen hånd ved hjælp af denne gratis Selenium-træningsserie. Læs vejledninger, øv eksempler hjemme hos dig selv, og skriv dine spørgsmål i kommentarfeltet i de respektive vejledninger. Vi vil besvare alle disse spørgsmål.
Dette er vores oprigtige forsøg på at hjælpe dig med at lære og beherske et af de mest populære værktøjer til softwaretestning!
Introduktion til selen
Vi er meget glade for at kunne lancere endnu en serie af tutorials om softwaretestning. Vi ønsker at gøre dig til ekspert i en af de mest anvendte løsninger til automatisering af softwaretest, Selenium.
I denne serie vil vi se på de forskellige facetter af Selenium. Selenium er ikke bare et værktøj, det er en klynge af uafhængige værktøjer. Vi vil se nærmere på nogle af Selenium-værktøjerne med praktiske eksempler, hvor det er relevant.
Før du kaster dig ud i denne spændende og nyttige serie, skal du se, hvad den har i vente til dig.
Hvorfor selen?
De nuværende tendenser i branchen har vist, at der er en massebevægelse i retning af automatisering af testning. Derfor har en klynge af gentagne manuelle testscenarier skabt en efterspørgsel efter at automatisere disse manuelle scenarier.
Der er flere fordele ved at implementere automatiseringstest; lad os tage et kig på dem:
- Understøtter udførelse af gentagne testcases
- Hjælper med at teste en stor testmatrix
- Aktiverer parallel udførelse
- tilskynder til uovervåget udførelse
- Forbedrer nøjagtigheden og reducerer dermed menneskeskabte fejl
- sparer tid og penge
Alle disse fordele resulterer i følgende:
- Høj ROI
- Hurtigere GoTo market
Der er flere fordele ved automatiseringstestning, som er velforståede og meget omtalt i softwaretestbranchen.
Et af de mest almindeligt stillede spørgsmål i forbindelse med dette er -
- Hvad er det bedste værktøj til at få mine tests automatiseret?
- Er der en omkostning forbundet med det?
- Er det let at tilpasse?
Et af de bedste svar på alle ovenstående spørgsmål til automatisering af webbaserede applikationer er Selenium, fordi:
- Det er en open source
- Det har en stor brugerbase og hjælper fællesskaber
- Den er kompatibel med flere browsere og platforme
- Det har en aktiv udvikling af et lager
- Den understøtter flere sprogimplementeringer
Første kig på Selenium
Selenium er en af de mest populære automatiserede testsuiter. Selenium er designet på en sådan måde, at det understøtter og tilskynder til automatiseret testning af funktionelle aspekter af webbaserede applikationer og en lang række browsere og platforme. På grund af dets eksistens i open source-fællesskabet er det blevet et af de mest accepterede værktøjer blandt testprofessionelle.
Selenium understøtter en bred vifte af browsere, teknologier og platforme.
Selen komponenter
Selenium er ikke bare et enkelt værktøj eller et værktøj, men snarere en pakke af flere testværktøjer, og derfor kaldes det en suite. Hvert af disse værktøjer er designet til at imødekomme forskellige test- og testmiljøkrav.
Pakken består af følgende sæt værktøjer:
- Selenium Integrated Development Environment (IDE)
- Selenium fjernbetjening (RC)
- Selenium WebDriver
- Selenium-grid
Selenium RC og WebDriver, der tilsammen er populært kendt som Selen 2 . Selenium RC alene kaldes også for Selen 1 .
Kort introduktion til Selenium-versioner
Selenium Core
Selenium er et resultat af en ingeniør ved navn Jason Huggins fra ThoughtWorks Da han var ansvarlig for test af en intern tidsregistreringsapplikation, indså han behovet for et værktøj til automatiseringstestning for at slippe af med gentagne manuelle opgaver uden at gå på kompromis med kvalitet og nøjagtighed.
Som et resultat heraf byggede han et JavaScript-program, kaldet " JavaScriptTestRunner " i begyndelsen af 2004, som automatisk kunne styre browserens handlinger, hvilket lignede meget den måde, hvorpå en bruger kommunikerer med browseren.
Herefter begyndte Jason at demonstrere værktøjet for et stort publikum. Til sidst blev der indledt diskussioner om at kategorisere dette værktøj i en open source-kategori og dets potentiale til at vokse som en genanvendelig testramme for andre webbaserede applikationer.
Værktøjet blev senere hyldet med navnet " Selenium Core ".
Selenium IDE (Selenium Integrated Deve lopment Environment)
Selenium IDE blev udviklet af Shinya Kasatani. Under studiet af Selenium Core indså han, at denne JavaScript-kode kan udvides til at skabe et integreret udviklingsmiljø (IDE), som kan tilsluttes Mozilla Firefox. Dette IDE var i stand til at optage og afspille brugerens handlinger på en Firefox-instans, som det var tilsluttet. Senere blev Selenium IDE en del af Selenium-pakken iSenere viste dette værktøj sig at have stor værdi og potentiale for samfundet.
Selenium IDE er det enkleste og letteste af alle værktøjerne i Selenium-pakken. Dens optagelses- og afspilningsfunktioner gør det usædvanligt let at lære med minimale kendskab til programmeringssprog. Med flere fordele fulgte der også nogle få ulemper ved Selenium IDE, hvilket gør det uegnet til brug i forbindelse med mere avancerede testskripter.
Fordele og ulemper ved Selenium IDE:
Ulemperne ved IDE er i virkeligheden ikke ulemper ved Selenium. De er snarere bare begrænsninger i forhold til, hvad IDE kan opnå. Disse begrænsninger kan overvindes ved at bruge Selenium RC eller WebDriver .
Selenium RC (Selenium fjernbetjening)
Selenium RC er et værktøj skrevet i Java, der gør det muligt for brugeren at konstruere testskripter til en webbaseret applikation i et hvilket som helst programmeringssprog, han/hun vælger. Selenium RC kom som et resultat af at overvinde de forskellige ulemper, der var forbundet med Selenium IDE eller Core .
De huller og begrænsninger, der blev indført ved brug af Selenium Core, gjorde det vanskeligt for brugeren at udnytte værktøjets fordele fuldt ud, hvilket gjorde testprocessen besværlig og en vidtrækkende opgave.
En af de afgørende restriktioner var den Politik for samme oprindelse.
Problem med samme oprindelsespolitik:
Problemet med Same Origin Policy er, at den ikke tillader adgang til et dokuments DOM fra en anden oprindelse end den oprindelse, vi forsøger at få adgang til dokumentet fra.
Oprindelse er en sekventiel kombination af URL-adressens skema, vært og port. For URL-adressen //www.seleniumhq.org/projects/ er oprindelsen f.eks. en kombination af HTTP, seleniumhq.org og 80.
Selenium Core (JavaScript-program) kan således ikke få adgang til elementerne fra en anden oprindelse end den, hvor det blev startet.
Hvis jeg f.eks. har startet JavaScript-programmet fra "//www.seleniumhq.org/", ville jeg kunne få adgang til siderne inden for samme domæne som f.eks. "//www.seleniumhq.org/projects/" eller "//www.seleniumhq.org/download/". De andre domæner som google.com og yahoo.com ville ikke længere være tilgængelige.
Hvis man vil teste en applikation ved hjælp af Selenium Core, skal man derfor installere hele applikationen på Selenium Core samt en webserver for at løse problemet med same-origin-politikken.
Så for at styre politikken for samme oprindelse uden at skulle lave en separat kopi af den testede applikation på Selenium Core, Selenium-fjernbetjening Mens Jason Huggins demonstrerede Selenium, foreslog en anden kollega hos ThoughtWorks ved navn Paul Hammant en løsning på same-origin-politikken og et værktøj, der kan kobles sammen med et programmeringssprog efter eget valg. Selenium RC blev således oprettet.
I modsætning til Selenium IDE understøtter Selenium RC en bred vifte af browsere og platforme.
Beskrivelse af arbejdsgangen
- Brugeren opretter et testskript i det ønskede programmeringssprog.
- For hvert programmeringssprog findes der et særligt klientbibliotek.
- Klientbiblioteket overfører testkommandoerne til selenium-serveren.
- Selenium-serveren dechifrerer og konverterer testkommandoerne til JavaScript-kommandoer og sender dem til browseren.
- Browseren udfører kommandoerne ved hjælp af Selenium Core og sender resultaterne tilbage til Selenium-serveren
- Selenium-serveren leverer testresultaterne til klientbiblioteket.
Der er nogle få forudsætninger, der skal være på plads, før du kan oprette Selenium RC-scripts:
- Et programmeringssprog - Java, C#, Python osv.
- Et integreret udviklingsmiljø -Eclipse, Netbeans osv.
- En testramme (valgfrit) - JUnit, TestNG osv.
- Og selvfølgelig Selenium RC-opsætning
Fordele og ulemper ved Selenium RC:
Se følgende figur for at få mere at vide om fordelene og ulemperne ved Selenium RC.
Selenium-grid
Med selenium RC har livet for en tester altid været positivt og gunstigt, indtil de nye tendenser rejste en efterspørgsel efter at udføre de samme eller forskellige testskripter på flere platforme og browsere samtidig for at opnå distribueret testudførelse, testning under forskellige miljøer og spare udførelsestid markant. Selenium-grid blev bragt ind i billedet.
Selenium Grid blev introduceret af Pat Lightbody for at imødekomme behovet for at kunne udføre testsuiterne på flere platforme samtidig.
Selenium WebDriver
Selenium WebDriver blev skabt af endnu en ingeniør hos ThoughtWorks ved navn Simon Stewart i 2006. WebDriver er også et webbaseret testværktøj med en lille forskel i forhold til Selenium RC. Da værktøjet var bygget på det grundlæggende, hvor der blev skabt en isoleret klient for hver af webbrowserne, var der ikke behov for JavaScript Heavy lifting. Dette førte til en kompatibilitetsanalyse mellem Selenium RC og WebDriver Som et resultat heraf blev der udviklet et mere kraftfuldt automatiseret testværktøj kaldet Selen 2 .
WebDriver er en ren og ren objektorienteret ramme. Den udnytter browserens native kompatibilitet til automatisering uden brug af nogen perifer enhed. Med den stigende efterspørgsel har den fået stor popularitet og brugerbase.
Fordele og ulemper ved Selenium WebDriver:
Se følgende figur for at få flere oplysninger om fordelene og ulemperne ved WebDriver.
Selen 3
Selen 3 er en avanceret version af Selen 2 Det er et værktøj, der fokuserer på automatisering af mobil- og webapplikationer. Når vi siger, at det understøtter mobiltestning, mener vi, at WebDriver API'et er blevet udvidet til at imødekomme behovene for testning af mobilapplikationer. Værktøjet forventes snart at blive lanceret på markedet.
Miljø og teknologi Stack
Med hvert nyt værktøj i Selenium-pakken bliver miljøer og teknologier mere kompatible. Her er en udtømmende liste over miljøer og teknologier, der understøttes af Selenium-værktøjerne.
Understøttede browsere
Understøttede programmeringssprog
Understøttede styresystemer
Understøttede testrammer
Konklusion
I denne vejledning har vi forsøgt at gøre dig bekendt med Selenium-pakken ved at beskrive dens forskellige komponenter, anvendelsesmuligheder og fordele i forhold til hinanden.
Her er de centrale punkter i denne artikel.
- Selenium er en suite af flere automatiserede testværktøjer, som hver især opfylder forskellige testbehov.
- Alle disse værktøjer hører under samme open source-kategori og understøtter kun webbaseret testning.
- Selenium suite består af 4 grundlæggende komponenter; Selenium IDE, Selenium RC, WebDriver og Selenium Grid .
- Brugeren forventes at vælge det rigtige Selenium-værktøj til sine behov med omtanke.
- Selenium IDE distribueres som et Firefox-plugin, og det er lettere at installere og bruge. Brugeren behøver ikke at have forudgående kendskab til programmering. Selenium IDE er et ideelt værktøj for en naiv bruger.
- Selenium RC er en server, der gør det muligt for brugeren at oprette testskripter i det ønskede programmeringssprog og at udføre testskripter i et stort antal browsere.
- Selenium Grid giver Selenium RC en ekstra funktion ved at distribuere testskripterne på forskellige platforme og browsere på samme tid til udførelse og dermed implementere master-slave-arkitekturen.
- WebDriver er et helt andet værktøj, som har forskellige fordele i forhold til Selenium RC. Selenium RC og WebDriver er fusioneret og kaldes også Selenium 2. WebDriver kommunikerer direkte med webbrowseren og bruger dens native kompatibilitet til at automatisere.
- Selenium 3 er den mest ventede tilføjelse til Selenium-pakken, som endnu ikke er blevet lanceret på markedet. Selenium 3 tilskynder kraftigt til mobiltestning.
I den næste vejledning vil vi diskutere det grundlæggende i Selenium IDE, dets installation og funktioner. Vi vil også se på de grundlæggende terminologier og nomenklaturer i Selenium IDE.
Næste Selenium Tutorial : Introduktion til Selenium IDE og dens installation med en detaljeret undersøgelse af alle funktionerne i Selenium IDE (kommer snart)
En bemærkning til læserne : Vores næste tutorial i Selenium-uddannelsesserien er i proces, men i mellemtiden kan du udforske lidt om Selenium-suiten og dens værktøjer ved at kigge på den officielle hjemmeside.
Om forfatterne:
Shruti Shrivastava (vores hovedforfatter til denne serie), Amaresh Dhal og Pallavi Sharma hjælper os med at bringe denne serie ud til vores læsere.
Hold dig opdateret, og del dine synspunkter, kommentarer og viden. Sig også til, hvis du mener, at vi har glemt noget, så vi kan inkludere det i vores efterfølgende tutorials.