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

Installer og konfigurer PyDev in Eclipse

Det nรฆste trin er at installere "pydev IDE" til eclipse.

Trin 2) I dette trin,

  1. Sรธg efter "http://pydev.org/updates" i Arbejde med og derefter
  2. Vรฆlg alle anfรธrte elementer, og klik pรฅ Nรฆste to gange
  3. Accepter licensaftalen, og klik pรฅ Udfรธr.

Installer og konfigurer PyDev in Eclipse

Trin 3) Du kan stรธde pรฅ sikkerhedsadvarsel, klik pรฅ "Installer alligevel".

Installer og konfigurer PyDev in Eclipse

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.

Installer og konfigurer PyDev in Eclipse

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.

Installer og konfigurer PyDev in Eclipse

Trin 5) I dette trin skal du angive "tolkenavnet" og "exe"-filstien til Python.

  1. Klik pรฅ 'Gennemse' og find python.exe, hvor du installerede Python.
  2. Klik pรฅ knappen 'OK'.
  3. Vรฆlg hele mappen og klik pรฅ OK
  4. Klik pรฅ "Anvend og luk".

Installer og konfigurer PyDev in Eclipse

Trin 6) Lav et nyt projekt i Python. I dette trin,

  1. Hรธjreklik PyDev Pakke Explorer > Ny.
  2. Vรฆlg mulighed andre.

Installer og konfigurer PyDev in Eclipse

  1. Vรฆlg "PyDev > PyDev Projekt".
  2. Tryk pรฅ knappen 'Nรฆste'.

Installer og konfigurer PyDev in Eclipse

  1. Navngiv dit projekt
  2. Klik pรฅ "Afslut".

Installer og konfigurer PyDev in Eclipse

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.

  1. Hรธjreklik pรฅ Projekt > Ny > PyDev Pakke.
  2. Navngiv din pakke, og klik pรฅ Udfรธr.

Installer og konfigurer PyDev in Eclipse

Installer og konfigurer PyDev in Eclipse

Trin 8) Hvis du ser nedenstรฅende skรฆrmbillede, oprettes en ny pakke.

Installer og konfigurer PyDev in Eclipse

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.

Installer og konfigurer PyDev in Eclipse

Navngiv dit modul og klik pรฅ "Udfรธr".

Installer og konfigurer PyDev in Eclipse

Vรฆlg Tรธm skabelon og klik pรฅ "OK".

Installer og konfigurer PyDev in Eclipse

Trin 10) Skriv din kode til Selenium med Python som vist nedenfor

Installer og konfigurer PyDev in Eclipse

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

Opret testscripts i Selenium med Python

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.

Opret testscripts i Selenium med Python

Facebook-siden vil logge ind med e-mail og adgangskode. Siden รฅbnet (se billedet nedenfor)

Opret testscripts i Selenium med Python

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

Opret testscripts i Selenium med Python

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,

  1. Java programmer har en tendens til at kรธre langsommere i forhold til Python programmer.
  2. Java bruger traditionelle seler til at starte og afslutte blokke, mens Python bruger indrykning.
  3. Java anvender statisk typning, mens Python er dynamisk indtastet.
  4. 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.

Opsummer dette indlรฆg med: