Selenium Python Vodič s WebDriverom (primjer)

⚡ Pametni sažetak

Selenium sa Python uparuje biblioteku za automatizaciju WebDrivera s Python sažeta sintaksa za testiranje web aplikacija Firefox, Chrome i Internet Explorer. Ovaj vodič konfigurira PyDev in Eclipse, piše skripte za prijavu i objašnjava zašto timovi preferiraju Python umjesto prema Java.

  • 🐍 Python Prednost: Less opširna sintaksa čini Selenium skripte lakše za čitanje i održavanje.
  • 🌐 Web Driver: Šalje standardne naredbe Firefox, Chrome i IE bez obzira na dizajn preglednika.
  • 🧩 PyDev Postaviti: Ugradite PyDev dodatak u Eclipse i postavite Python prevoditelj.
  • 📝 Skripte za prijavu: Pronađite polja prema ID-u, pošaljite ključeve i automatski pošaljite obrazac.
  • Tvrdnja o naslovu: WebDriverWait plus assert provjerava naslov stranice nakon prijave.
  • 🤖 AI pomoć: Alati umjetne inteligencije generiraju lokatore i Selenium Python skripte iz običnih promptova.

Selenium Python Vodič s WebDriverom

Selenium sa 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, imajući daleko manje opširnu sintaksu.
  • The Python API-ji vam omogućuju povezivanje s preglednikom putem Selenium.
  • Selenium šalje standard Python naredbe različitim preglednicima, unatoč razlikama u dizajnu njihovih preglednika.

Možete trčati Selenium sa Python skripte za Firefox, Chrome, IE itd. na različitim operativnim sustavima.

Š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 interpretirati. Ima manje sintaktičkih komplikacija od bilo kojeg drugog programski jezik.

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čini 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 obrasce.
  • Pregledajte svoju stranicu da provjerite je li sve u redu i tako dalje.

Kako instalirati i konfigurirati PyDev in Eclipse

PyDev je Python razvojno okruženje za Eclipse.

Korak 1) Idi na Eclipse Tržnica. Pomoć > Instaliranje novog softvera.

Instalirajte i konfigurirajte PyDev in Eclipse

Sljedeći korak je instaliranje "pydev IDE-a" za Eclipse.

Korak 2) U ovom koraku:

  1. Potražite „http://pydev.org/updates” u odjeljku Rad s, a zatim
  2. Označite sve navedene stavke i dvaput kliknite na Dalje.
  3. Prihvatite Ugovor o licenci i kliknite Završi.

Instalirajte i konfigurirajte PyDev in Eclipse

Korak 3) Možda ćete naići na sigurnosno upozorenje. Kliknite na "Instaliraj svejedno".

Instalirajte i konfigurirajte PyDev in Eclipse

Korak 4) Postavite postavke kako biste mogli koristiti Python prema potrebama projekta. Idite na Prozor > Postavke > PyDev > Tumač > Python Tumač.

Instalirajte i konfigurirajte PyDev in Eclipse

Postavite zadanu vrijednost Python Prevoditelj, baš kao što ste postavili Java kompajler za pokretanje Java kod. Za promjenu naziva interpretera kliknite gumb Pretraži python/pypy.exe.

Instalirajte i konfigurirajte PyDev in Eclipse

Korak 5) U ovom koraku dajte "ime tumača" i "exe" putanju datoteke Python.

  1. Kliknite na 'Pregledaj' i pronađite python.exe gdje ste instalirali Python.
  2. Pritisnite gumb "OK".
  3. Označite sve mape i kliknite na U redu.
  4. Kliknite na "Primijeni i zatvori".

Instalirajte i konfigurirajte PyDev in Eclipse

Korak 6) Napravite novi projekt u PythonU ovom koraku:

  1. Desni klik PyDev Istraživač paketa > Novo.
  2. Odaberite opciju ostalo.

Instalirajte i konfigurirajte PyDev in Eclipse

  1. Odaberite "PyDev > PyDev Projekt".
  2. Pritisnite gumb 'Dalje'.

Instalirajte i konfigurirajte PyDev in Eclipse

  1. Nazovite svoj projekt.
  2. Kliknite "Završi".

Instalirajte i konfigurirajte PyDev in Eclipse

Možete vidjeti novo Python (PyDev) projekt je kreiran.

Korak 7) Nakon stvaranja 'PyDev Projekt', stvorit ćete novi Python paket.

  1. Desni klik na Projekt > Novo > PyDev Paket.
  2. Imenujte svoj paket i kliknite Završi.

Instalirajte i konfigurirajte PyDev in Eclipse

Instalirajte i konfigurirajte PyDev in Eclipse

Korak 8) Ako vidite na donjoj snimci zaslona, ​​​​kreiran je novi paket.

Instalirajte i konfigurirajte PyDev in Eclipse

Zatim kreirajte a PyDev modul. Modul sadrži Python datoteke za inicijalizaciju, čije se funkcije mogu uvesti u drugi modul, izbjegavajući ponovno pisanje programa.

Korak 9) Napravite novu PyDev modul. Desni klik na paket > Novo > PyDev modul.

Instalirajte i konfigurirajte PyDev in Eclipse

Imenujte svoj modul i kliknite "Završi".

Instalirajte i konfigurirajte PyDev in Eclipse

Odaberite Prazan predložak i kliknite "U redu".

Instalirajte i konfigurirajte PyDev in Eclipse

Korak 10) Napišite svoj kod za Selenium sa Python kao što je prikazano u nastavku.

Instalirajte i konfigurirajte PyDev in Eclipse

Kako stvoriti testne skripte u Selenium sa Python

U ovom Selenium WebDriver sa Python Na primjer, automatizirali smo "stranicu za prijavu na Facebook" koristeći Firefox vozač.

Selenium sa 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()

Snimka Code

Stvorite testne skripte u Selenium sa Python

Objašnjenje koda

  • Code redak 1: Iz selenium modula, uvezite webdriver.
  • Code redak 2: Iz modula selenium uvezite ključeve.
  • Code redak 3: korisničko_ime je varijabla koja se koristi za pohranjivanje vrijednosti korisničkog imena.
  • Code redak 4: Varijabla „password“ će se koristiti za pohranjivanje vrijednosti lozinke.
  • Code redak 5: Inicijaliziraj "Firefox” načinivši od njega predmet.
  • Code redak 6: Metoda „driver.get“ vodi na stranicu koju je dao URLWebDriver čeka da se stranica potpuno učita prije nego što vrati kontrolu vašem skriptu.
  • Code redak 7: Pronađite element tekstualnog okvira u koji treba napisati "e-poštu".
  • Code redak 8: Pošaljite vrijednosti u odjeljak e-pošte.
  • Code redak 9: Isto vrijedi i za lozinku.
  • Code redak 10: Pošalji vrijednosti u odjeljak za lozinku.
  • Code redak 11: element.send_keys(Keys.RETURN) pritišće enter nakon što su vrijednosti umetnute.
  • Code redak 12: Zatvori.

Izlaz: Unose se vrijednosti korisničkog imena „guru99“ i lozinke.

Stvorite testne skripte u Selenium sa Python

Facebook stranica će se prijaviti s e-poštom i lozinkom. Stranica je otvorena (vidi sliku ispod).

Stvorite testne skripte u Selenium sa Python

Selenium sa Python Primjer 2: Prijava na Facebook i provjera naslova

U ovom primjeru otvorit ćemo stranicu za prijavu, ispuniti obavezna polja „korisničko ime“ i „lozinka“ te provjeriti 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

Stvorite testne skripte u Selenium sa Python

Objašnjenje koda:

  • Code redak 1-2: Uvoz selenijumskih paketa.
  • Code redak 4: inicijalizirati Firefox stvaranjem objekta.
  • Code redak 6: Preuzmite stranicu za prijavu (Facebook).
  • Code redak 8-10: Dohvati okvire za unos korisničkog imena, lozinke i gumb za slanje.
  • Code redak 11-12: Unesite podatke u polja za unos korisničkog imena i lozinke.
  • Code redak 14: Kliknite gumb "Pošalji".
  • Code redak 15: Napravite objekt čekanja s vremenskim ograničenjem od 5 sekundi.
  • Code redak 16: Snimite naslov iz objekta "preglednik".
  • Code redak 17: Testirajte snimljeni naslovni niz s "Facebookom".

Zašto odabrati Python umjesto prema Java in Selenium

Nekoliko točaka koje idu u prilog Python umjesto prema Java koristiti sa Selenium je:

  1. Java programi rade sporije u usporedbi s Python Programi.
  2. Java koristi tradicionalne zagrade za početak i kraj blokova, dok Python koristi uvlačenje.
  3. Java koristi statički typing, Dok Python se dinamički upisuje.
  4. Python je jednostavniji i kompaktniji u usporedbi s Java.

Pitanja i odgovori

Pokreni pip install selenium. Modern Selenium brodovi sa Selenium Manager, koji automatski preuzima odgovarajući upravljački program preglednika, tako da nije potrebno ručno postavljanje chromedrivera.

WebDriver je Selenium sučelje koje pokreće pravi preglednik, šaljući naredbe Firefox, Chrome ili Edge za kontrolu navigacije, klikova i unosa u obrasce.

Selenium 4 je uklonio find_element_by_id. Koristite klasu By: from selenium.webdriver.common.by import By, zatim driver.find_element(By.ID, “email”).

Implicitno čekanje ispituje DOM tijekom određenog vremena. Eksplicitno čekanje (WebDriverWait) pauzira dok se ne ispuni određeni uvjet. Izbjegavajte njihovo miješanje kako biste spriječili nepredvidivo vrijeme.

Ne. PyDev in Eclipse je jedna od opcija. Također možete pokrenuti Selenium Python skripte u PyCharm, VS Codeili iz naredbenog retka.

Selenium WebDriver podržava Firefox, Chrome, Edge, Safari i Internet Explorer. Isto Python skripta se preko njih izvršava zamjenomping vozač.

Da. AI asistenti poput ChatGPT-a pretvaraju opis testa na jednostavnom jeziku u Selenium Python kod, predložiti lokatore i pretvoriti stare pozive find_element_by_id u sintaksu By.

Da. GitHub Copilot predlaže stabilne lokatore, objašnjava pogreške NoSuchElementException i preporučuje eksplicitna čekanja, smanjujući nestabilne testove na dinamičkim stranicama.

Sažmite ovu objavu uz: