Selenium Python Tutorial med WebDriver Eksempel
Selenium med Python
Selenium understøtninger Python og dermed kan bruges som Selenium WebDriver med Python til testning.
- Python er let sammenlignet med andre programmeringssprog, og har langt mindre udførligt.
- Python API'er giver dig mulighed for at oprette forbindelse til browseren gennem Selenium.
- Selenium sender standarden Python kommandoer til forskellige browsere, på trods af variation i deres browsers design.
Du kan køre Selenium med Python scripts til Firefox, Chrome, IE osv. på forskellige Operating Systemer.
Hvad er Python?
Python er et objektorienteret scriptsprog på højt niveau. Den er designet på en brugervenlig måde. Python bruger simple engelske søgeord, som er nemme at fortolke. Det har færre syntakskomplikationer end nogen anden programmeringssprog.
Se nogle af eksemplerne i tabellen nedenfor.
| Søgeord | Betydning | Brug |
|---|---|---|
| Elif | Ellers hvis | Ellers hvis |
| andet | Else | hvis: X; elif: Y; andet: J |
| undtagen | gør dette, hvis der sker en undtagelse, | undtagen ValueError, a: udskriv en |
| exec | Kør streng som Python | exec 'print "hej verden!"' |
Hvad er Selenium?
Selenium er et værktøj til at teste din webapplikation. Det kan du f.eks. gøre på forskellige måder
- Tillad det at trykke på knapper
- Indtast indhold i strukturer
- Skim dit websted for at kontrollere, om alt er "OK" og så videre.
Sådan installeres og konfigureres PyDev in Eclipse
PyDev is Python udviklingsmiljø for Eclipse.
Trin 1) Bliver nødt til Eclipse Markedsplads. Hjælp > Installer ny software
Det næste trin er at installere "pydev IDE" til eclipse.
Trin 2) I dette trin,
- Søg efter "http://pydev.org/updates" i Arbejde med og derefter
- Vælg alle anførte elementer, og klik på Næste to gange
- Accepter licensaftalen, og klik på Udfør.
Trin 3) Du kan støde på sikkerhedsadvarsel, klik på "Installer alligevel".
Trin 4) Nu, i dette trin angiver du præferencer. Ved hjælp af præferencemulighed, kan du bruge Python efter projektets behov.
Gå til Vindue > Præferencer > PyDev > Tolk > Python Tolk.
Lad os indstille standarden Python Tolk. Det er ligesom du skal indstille java compiler til at køre en Java kode. For at ændre fortolkerens navn, klik på Søg efter python/pypy exe-knap.
Trin 5) I dette trin skal du angive "tolkenavnet" og "exe"-filstien til Python.
- Klik på 'Gennemse' og find python.exe, hvor du installerede Python.
- Klik på knappen 'OK'.
- Vælg hele mappen og klik på OK
- Klik på "Anvend og luk".
Trin 6) Lav et nyt projekt i Python. I dette trin,
- Højreklik PyDev Pakke Explorer > Ny.
- Vælg mulighed andre.
- Vælg "PyDev > PyDev Projekt".
- Tryk på knappen 'Næste'.
- Navngiv dit projekt
- Klik på "Afslut".
Du kan se det nye Python (PyDev) projektet er oprettet.
Trin 7) I dette trin,
Efter oprettelse 'PyDev Project', vil du oprette en ny Python pakke.
- Højreklik på Projekt > Ny > PyDev Pakke.
- Navngiv din pakke, og klik på Udfør.
Trin 8) Hvis du ser nedenstående skærmbillede, oprettes en ny pakke.
Efter at have oprettet en ny pakke, er næste trin at oprettePyDev modul. Modulet indeholder nogle Python filer til initialisering. Disse filer eller funktioner fra modulet kan importeres til andre modul. Så der vil ikke være behov for at omskrive programmet igen.
Trin 9) Opret en ny PyDev modul. Højreklik på pakke > Ny > PyDev modul.
Navngiv dit modul og klik på "Udfør".
Vælg Tøm skabelon og klik på "OK".
Trin 10) Skriv din kode til Selenium med Python som vist nedenfor
Sådan opretter du testscripts i Selenium med Python
I denne Selenium WebDriver med Python for eksempel lavede vi automatisering af "Facebook login-side" ved hjælp af Firefox chauffør.
Selenium med Python Eksempel 1: Log ind på Facebook
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
user_name = "YOUR EMAILID"
password = "YOUR PASSWORD"
driver = webdriver.Firefox()
driver.get("https://www.facebook.com")
element = driver.find_element_by_id("email")
element.send_keys(user_name)
element = driver.find_element_by_id("pass")
element.send_keys(password)
element.send_keys(Keys.RETURN)
element.close()
Snapshot af koden
Forklaring af koden
- Kodelinje 1: Fra selenmodul import webdriver
- Kodelinje 2: Fra selen modul import nøgler
- Kodelinje 3: Bruger er en variabel, som vil blive brugt til at gemme værdier af brugernavn.
- Kodelinje 4: Variabel "adgangskode" vil blive brugt til at gemme værdier af adgangskoden.
- Kodelinje 5: I denne linje initialiserer vi "FireFox” ved at lave et objekt af det.
- Kodelinje 6: "driver.get-metoden" vil navigere til en side givet af URL'en. WebDriver vil vente, indtil siden er blevet fuldstændig indlæst (det vil sige, at "onload" lejligheden er sluppet), før den vender tilbage til din test eller script.
- Kodelinje 7: I denne linje finder vi det element i tekstboksen, hvor "e-mailen" skal skrives.
- Kodelinje 8: Nu sender vi værdierne til e-mail-sektionen
- Kodelinje 9: Samme for adgangskoden
- Kodelinje 10: Sender værdier til adgangskodesektionen
- Kodelinje 11: element.send_keys(Keys.RETURN) bruges til at trykke enter, efter at værdierne er indsat
- Kodelinje 12: Tæt
PRODUKTION
Værdierne for brugernavnet "guru99" og adgangskoden indtastet.
Facebook-siden vil logge ind med e-mail og adgangskode. Siden åbnet (se billedet nedenfor)
Selenium med Python EKSEMPEL 2: Log ind på Facebook og tjek titel
I dette eksempel
- Vi åbner en login-side.
- Udfyld det påkrævede felt "brugernavn" og "adgangskode".
- Tjek sidetitel
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
# Step 1) Open Firefox
browser = webdriver.Firefox()
# Step 2) Navigate to Facebook
browser.get("http://www.facebook.com")
# Step 3) Search & Enter the Email or Phone field & Enter Password
username = browser.find_element_by_id("email")
password = browser.find_element_by_id("pass")
submit = browser.find_element_by_id("loginbutton")
username.send_keys("YOUR EMAILID")
password.send_keys("YOUR PASSWORD")
# Step 4) Click Login
submit.click()
wait = WebDriverWait( browser, 5 )
page_title = browser.title
assert page_title == "Facebook"
Snapshot af koden
Forklaring af koden:
- Kodelinje 1-2: Importer selenpakker
- Kodelinje 4: Initialiser Firefox ved at skabe et objekt
- Kodelinje 6: Få login-side (Facebook)
- Kodelinje 8-10: Hent brugernavn, adgangskodeindtastningsfelter og send-knap.
- Kodelinje 11-12: Indtast data i indtastningsfelterne for brugernavn og adgangskode
- Kodelinje 14: Klik på knappen "Send".
- Kodelinje 15: Opret venteobjekt med en timeout på 5 sek.
- Kodelinje 16: Indfangning af titlen fra "browser"-objekt.
- Kodelinje 17: Test af den fangede titelstreng med "Facebook"
Hvorfor vælge Python i løbet af Java in Selenium
Få punkter, der favoriserer Python i løbet af Java at bruge med Selenium er,
- Java programmer har en tendens til at køre langsommere i forhold til Python programmer.
- Java bruger traditionelle seler til at starte og afslutte blokke, mens Python bruger indrykning.
- Java anvender statisk typning, mens Python er dynamisk indtastet.
- Python er enklere og mere kompakt i forhold til Java.
Resumé
- Selenium er en open source webbaseret automatiseringsværktøj.
- Python sprog bruges med Selenium til test. Det har langt mindre udførligt og nemt at bruge end noget andet programmeringssprog
- Python API'er giver dig mulighed for at oprette forbindelse til browseren gennem Selenium
- Selenium kan sende standarden Python kommandoer til forskellige browsere, på trods af variation i deres browsers design.




















