Selenium Python Vodič s primjerom WebDrivera
Selenium s Python
Selenium podržava Python i stoga se može koristiti kao Selenium WebDriver sa Python za testiranje.
- Python jednostavan je u usporedbi s drugim programskim jezicima, jer ima mnogo manje detalja.
- The Python API-ji vam omogućuju povezivanje s preglednikom putem Selenium.
- Selenium šalje standard Python naredbe različitim preglednicima, unatoč varijacijama u dizajnu preglednika.
Možete trčati Selenium s Python skripte za Firefox, Chrome, IE itd. na različitim Operating sustavi.
Što je Python?
Python je objektno orijentirani skriptni jezik visoke razine. Dizajniran je na jednostavan način. Python koristi jednostavne engleske ključne riječi koje je lako protumačiti. Ima manje sintaktičkih komplikacija nego bilo koji drugi programski jezici.
Pogledajte neke od primjera u tablici u nastavku.
Riječ | Značenje | Upotreba |
---|---|---|
Elif | Inače ako | Inače ako |
drugo | Drugo | ako: X; elif: Y; drugo: J |
osim | učinite ovo, ako se dogodi iznimka, | osim ValueError, a: ispis a |
exec | Pokreni niz kao Python | exec 'print “zdravo svijete!”' |
Što je Selenium?
Selenium je alat za testiranje vaše web aplikacije. To možete učiniti na različite načine, na primjer
- Dopustite mu da dodiruje gumbe
- Unesite sadržaj u strukture
- Pregledajte svoju stranicu da provjerite je li sve u redu i tako dalje.
Kako instalirati i konfigurirati PyDev in Eclipse
PyDev is Python razvojno okruženje za Eclipse.
Korak 1) Moram Eclipse Tržnica. Pomoć > Instaliraj novi softver
Sljedeći korak je instaliranje “pydev IDE” za eclipse.
Korak 2) U ovom koraku
- Potražite “http://pydev.org/updates” u Work with i zatim
- Odaberite sve navedene stavke i dvaput kliknite Dalje
- Prihvatite Licencni ugovor i kliknite Završi.
Korak 3) Možda ćete naići na sigurnosno upozorenje, kliknite na "Svejedno instaliraj".
Korak 4) Sada, u ovom koraku ćete postaviti postavke. Uz pomoć opcije preferencija, možete koristiti Python prema potrebi projekta.
Idite na Window> Preferences> PyDev > Tumač > Python Tumač.
Postavimo zadanu vrijednost Python Prevoditelj. To je kao da trebate postaviti java kompajler za pokretanje a Java kodirati. Da biste promijenili naziv tumača, kliknite na gumb Traži python/pypy exe.
Korak 5) U ovom koraku dajte "ime tumača" i "exe" putanju datoteke Python.
- Kliknite na 'Pregledaj' i pronađite python.exe gdje ste instalirali Python.
- Pritisnite gumb 'OK'.
- Odaberite sve mape i kliknite na OK
- Kliknite na "Primijeni i zatvori".
Korak 6) Napravite novi projekt u Python. U ovom koraku,
- Desni klik PyDev Istraživač paketa > Novo.
- Odaberite opciju ostalo.
- Odaberite "PyDev > PyDev Projekt".
- Pritisnite gumb 'Dalje'.
- Imenujte svoj projekt
- Kliknite "Završi".
Možete vidjeti novo Python (PyDev) projekt je kreiran.
Korak 7) U ovom koraku
Nakon stvaranja 'PyDev Projekt', stvorit ćete novi Python paket.
- Desni klik na Projekt > Novo > PyDev Paket.
- Imenujte svoj paket i kliknite Završi.
Korak 8) Ako vidite na slici ispod, stvoren je novi paket.
Nakon kreiranja novog paketa, sljedeći korak je kreiranjePyDev Modul. Modul sadrži neke Python datoteke za inicijalizaciju. Ove datoteke ili funkcije iz modula mogu se uvesti u drugi modul. Dakle, neće biti potrebe ponovno pisati program.
Korak 9) Napravite novu PyDev modul. Desni klik na paket > Novo > PyDev modul.
Imenujte svoj modul i kliknite "Završi".
Odaberite Prazan predložak i kliknite "U redu".
Korak 10) Napišite svoj kod za Selenium s Python kao što je prikazano u nastavku
Kako stvoriti testne skripte u Selenium s Python
U ovom Selenium WebDriver sa Python Na primjer, napravili smo automatizaciju za "Facebook stranicu za prijavu" pomoću Firefox vozač.
Selenium s Python Primjer 1: Prijavite se na 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()
Snimak koda
Objašnjenje koda
- Kodna linija 1: Iz modula selenium uvezite webdriver
- Kodna linija 2: Iz modula selenium uvoz ključeva
- Kodna linija 3: Korisnik je varijabla koju ćemo koristiti za pohranu vrijednosti korisničkog imena.
- Kodna linija 4: Varijabla “password” koristit će se za pohranu vrijednosti lozinke.
- Kodna linija 5: U ovom retku inicijaliziramo “FireFox” načinivši od njega predmet.
- Kodna linija 6: “driver.get metoda” vodit će do stranice koju daje URL. WebDriver će pričekati dok se stranica u potpunosti ne učita (tj. kada se "onload" prilika otpusti), prije nego što vrati kontrolu vašem testu ili skripti.
- Kodna linija 7: U ovom retku pronalazimo element tekstualnog okvira gdje treba napisati "e-poštu".
- Kodna linija 8: Sada šaljemo vrijednosti u odjeljak za e-poštu
- Kodna linija 9: Isto za lozinku
- Kodna linija 10: Slanje vrijednosti u odjeljak za lozinku
- Kodna linija 11: element.send_keys(Keys.RETURN) koristi se za pritisak enter nakon umetanja vrijednosti
- Kodna linija 12: Zatvoriti
PROIZVODNJA
Unesene vrijednosti korisničkog imena “guru99” i lozinke.
Facebook stranica će se prijaviti putem e-pošte i lozinke. Stranica je otvorena (pogledajte sliku ispod)
Selenium s Python PRIMJER 2: Prijavite se na Facebook i provjerite naslov
U ovom primjeru
- Otvorit ćemo stranicu za prijavu.
- Ispunite potrebna polja "korisničko ime" i "lozinka".
- Provjerite naslov stranice
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"
Snimka koda
Objašnjenje koda:
- Redak koda 1-2: Uvoz paketa selena
- Redak koda 4: inicijalizirati Firefox stvaranjem objekta
- Redak koda 6: Nabavite stranicu za prijavu (Facebook)
- Redak koda 8-10: Dohvati okvire za unos korisničkog imena, lozinke i gumb za slanje.
- Redak koda 11-12: Unesite podatke u okvire za unos korisničkog imena i lozinke
- Redak koda 14: Kliknite na gumb "Pošalji".
- Redak koda 15: Stvorite objekt čekanja s vremenskim ograničenjem od 5 sekundi.
- Redak koda 16: Hvatanje naslova iz objekta "preglednik".
- Redak koda 17: Testiranje snimljenog naslovnog niza s "Facebookom"
Zašto odabrati Python nad Java in Selenium
Nekoliko bodova u korist Python nad Java koristiti sa Selenium je,
- Java programi rade sporije u usporedbi s Python Programi.
- Java koristi tradicionalne zagrade za početak i kraj blokova, dok Python koristi uvlačenje.
- Java koristi statično tipkanje, dok Python se dinamički upisuje.
- Python je jednostavniji i kompaktniji u usporedbi s Java.
rezime
- Selenium je open-source web-based alat za automatizaciju.
- Python jezik se koristi sa Selenium za testiranje. Mnogo je manje detaljan i jednostavan za korištenje nego bilo koji drugi programski jezik
- The Python API-ji vam omogućuju povezivanje s preglednikom putem Selenium
- Selenium može poslati standard Python naredbe različitim preglednicima, unatoč varijacijama u dizajnu preglednika.