Selenium Python Vejledning med WebDriver (eksempel)
โก Smart opsummering
Selenium med Python parrer WebDriver-automatiseringsbiblioteket med Python prรฆcis syntaks til at teste webapplikationer pรฅ tvรฆrs Firefox, Chrome og Internet Explorer. Denne gennemgang konfigurerer PyDev in Eclipse, skriver login-scripts og forklarer, hvorfor teams foretrรฆkker Python i lรธbet af Java.

Selenium med Python
Selenium understรธtninger Python og dermed kan bruges som Selenium WebDriver med Python til testning.
- Python er nemt sammenlignet med andre programmeringssprog, da det har langt mindre detaljeret syntaks.
- 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 browserdesign.
Du kan kรธre Selenium med Python scripts til Firefox, Chrome, IE osv. pรฅ forskellige operativsystemer.
Hvad er Python?
Python er et objektorienteret scriptsprog pรฅ hรธjt niveau. Den er designet pรฅ en brugervenlig mรฅde. Python bruger simple engelske nรธgleord, som er lette at fortolke. Den 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 opstรฅr 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. Du kan gรธre dette pรฅ forskellige mรฅder, for eksempel:
- Tillad den at trykke pรฅ knapper.
- Indtast indhold i formularer.
- Skim dit websted for at kontrollere, om alt er "OK" og sรฅ videre.
Sรฅdan installeres og konfigureres PyDev in Eclipse
PyDev er Python udviklingsmiljรธ for Eclipse.
Trin 1) Gรฅ 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 Arbejd med, og derefter
- Vรฆlg alle listede elementer, og klik to gange pรฅ Nรฆste.
- Accepter licensaftalen, og klik pรฅ Udfรธr.
Trin 3) Du kan muligvis stรธde pรฅ en sikkerhedsadvarsel. Klik pรฅ โInstaller alligevelโ.
Trin 4) Angiv prรฆferencer, sรฅ du kan bruge Python efter projektets behov. Gรฅ til Vindue > Indstillinger > PyDev > Tolk > Python Tolk.
Indstil standard Python Tolk, ligesom du indstiller Java compiler til kรธrsel Java kode. For at รฆndre fortolkernavnet skal du klikke pรฅ knappen Gennemse efter python/pypy exe.
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 alle mapperne, og klik pรฅ OK.
- Klik pรฅ "Anvend og luk".
Trin 6) Lav et nyt projekt i PythonI 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) Efter at have oprettet '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 det pรฅ skรฆrmbilledet nedenfor, er en ny pakke oprettet.
Opret derefter en PyDev modul. Modulet indeholder Python filer til initialisering, hvis funktioner kan importeres til et andet modul, hvilket undgรฅr omskrivning af programmet.
Trin 9) Opret en ny PyDev modul. Hรธjreklik pรฅ pakke > Ny > PyDev modul.
Navngiv dit modul, og klik pรฅ "Afslut".
Vรฆlg Tom 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 automatiserede vi "Facebook-loginsiden" 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()
รjebliksbillede af Code
Forklaring af koden
- Code linje 1: Importer webdriver fra Selenium-modulet.
- Code linje 2: Importer nรธgler fra Selenium-modulet.
- Code linje 3: brugernavn er en variabel, der bruges til at gemme vรฆrdien af โโbrugernavnet.
- Code linje 4: Variablen "password" vil blive brugt til at gemme vรฆrdien af โโadgangskoden.
- Code linje 5: InitialiserFirefoxโ ved at lave et objekt af det.
- Code linje 6: Metoden "driver.get" navigerer til den side, der er angivet af URLWebDriver venter, indtil siden er fuldt indlรฆst, fรธr den vender tilbage til dit script.
- Code linje 7: Find tekstbokselementet, hvor "e-mailen" skal skrives.
- Code linje 8: Send vรฆrdierne til e-mail-sektionen.
- Code linje 9: Det samme gรฆlder for adgangskoden.
- Code linje 10: Send vรฆrdier til adgangskodeafsnittet.
- Code linje 11: element.send_keys(Keys.RETURN) trykker pรฅ enter efter vรฆrdierne er indsat.
- Code linje 12: Luk.
Output: Vรฆrdierne for brugernavnet โguru99โ og adgangskoden indtastes.
Facebook-siden logger ind med e-mail og adgangskode. Siden รฅbnes (se billede nedenfor).
Selenium med Python Eksempel 2: Log ind pรฅ Facebook og tjek titel
I dette eksempel รฅbner vi en login-side, udfylder de obligatoriske felter "brugernavn" og "adgangskode" og kontrollerer sidens titel.
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:
- Code linje 1-2: Importer selenpakker.
- Code linje 4: Initialiser Firefox ved at oprette et objekt.
- Code linje 6: Hent login-siden (Facebook).
- Code linje 8-10: Hent brugernavn, indtastningsfelter til adgangskode og send-knappen.
- Code linje 11-12: Indtast data i indtastningsfelterne for brugernavn og adgangskode.
- Code linje 14: Klik pรฅ knappen "Send".
- Code linje 15: Opret et venteobjekt med en timeout pรฅ 5 sekunder.
- Code linje 16: Hent titlen fra "browser"-objektet.
- Code linje 17: Test den optagne titelstreng med โFacebookโ.
Hvorfor vรฆlge Python i lรธbet af Java in Selenium
Et par 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 bรธjler til at starte og afslutte blokke, mens Python bruger indrykning.
- Java anvender statisk typing, mens Python er dynamisk indtastet.
- Python er enklere og mere kompakt i forhold til Java.




















