Selenium Webdriver met Python: zelfstudie met voorbeeld

Inhoudsopgave:

Anonim

Selenium ondersteunt Python en kan dus worden gebruikt als Selenium WebDriver met Python om te testen.

  • Python is eenvoudig in vergelijking met andere programmeertalen, omdat het veel minder uitgebreid is.
  • Met de Python-API's kunt u via Selenium verbinding maken met de browser.
  • Selenium stuurt de standaard Python-commando's naar verschillende browsers, ondanks variatie in het ontwerp van hun browser.

U kunt Selenium uitvoeren met Python-scripts voor Firefox, Chrome, IE, enz. Op verschillende besturingssystemen.

In deze Selenium Python-tutorial leer je:

  • Wat is Python?
  • Wat is selenium?
  • Waarom Python kiezen in plaats van Java in Selenium
  • PyDev installeren en configureren in Eclipse
  • Testscripts maken in Selenium met Python

Wat is Python?

Python is een objectgeoriënteerde scripttaal op hoog niveau. Het is op een gebruiksvriendelijke manier ontworpen. Python gebruikt eenvoudige Engelse trefwoorden, die gemakkelijk te interpreteren zijn. Het heeft minder syntaxiscomplicaties dan welke andere programmeertaal dan ook.

Bekijk enkele voorbeelden in de onderstaande tabel.

Trefwoord Betekenis Gebruik
elif Anders als Anders als
anders Anders als: X; elif: Y; anders: J
behalve doe dit, als er een uitzondering optreedt, behalve ValueError, a: print a
exec Voer string uit als Python exec 'print "hallo wereld!"'

Wat is selenium?

Selenium is een tool om uw webapplicatie te testen. Dit kunt u bijvoorbeeld op verschillende manieren doen

  • Sta het toe om op knoppen te tikken
  • Voer inhoud in structuren in
  • Blader door uw site om te controleren of alles "OK" is, enzovoort.

Waarom Python kiezen in plaats van Java in Selenium

Enkele punten die Python prefereren boven Java om te gebruiken met Selenium zijn,

  1. Java-programma's werken meestal langzamer in vergelijking met Python-programma's.
  2. Java gebruikt traditionele accolades om blokken te starten en te beëindigen, terwijl Python inspringen gebruikt.
  3. Java maakt gebruik van statisch typen, terwijl Python dynamisch wordt getypt.
  4. Python is eenvoudiger en compacter in vergelijking met Java.

PyDev installeren en configureren in Eclipse

PyDev is een Python-ontwikkelomgeving voor Eclipse.

Stap 1) Ga naar Eclipse Marketplace. Help> Nieuwe software installeren

De volgende stap is het installeren van "pydev IDE" voor eclipse.

Stap 2) In deze stap,

  1. Zoek naar "http://pydev.org/updates" in Werken met en daarna
  2. Selecteer alle vermelde items en klik tweemaal op Volgende
  3. Accepteer de licentieovereenkomst en klik op Voltooien.

Stap 3) U kunt een beveiligingswaarschuwing tegenkomen. Klik op "Toch installeren".

Stap 4) Nu , in deze stap stelt u voorkeuren in. Met behulp van de voorkeursoptie kunt u Python gebruiken volgens de projectbehoefte.

Ga naar Venster> Voorkeuren> PyDev> Interpreter> Python Interpreter.

Laten we de standaard Python-interpreter instellen. Het is net alsof u de java-compiler moet instellen om een ​​Java-code uit te voeren. Om de naam van de tolk te wijzigen, klikt u op Browse for python / pypy exe Button.

Stap 5) Geef in deze stap de "interpreter name" en het "exe" -bestandspad van Python.

  1. Klik op 'Bladeren' en zoek python.exe waar je Python hebt geïnstalleerd.
  2. Klik op de knop 'OK'.
  3. Selecteer alle mappen en klik op OK
  4. Klik op "Toepassen en sluiten".

Stap 6) Maak een nieuw project in Python. In deze stap

  1. Klik met de rechtermuisknop op PyDev Package Explorer> Nieuw.
  2. Selecteer optie anderen.

  1. Selecteer "PyDev> PyDev Project".
  2. Druk op de knop 'Volgende'.

  1. Geef uw project een naam
  2. Klik op "Voltooien".

U kunt zien dat het nieuwe Python (PyDev) -project is gemaakt.

Stap 7) In deze stap,

Nadat u 'PyDev-project' hebt gemaakt, maakt u een nieuw Python-pakket.

  1. Klik met de rechtermuisknop op Project> Nieuw> PyDev-pakket.
  2. Geef uw pakket een naam en klik op Voltooien.

Stap 8) Als u in onderstaande schermafbeelding ziet, wordt er een nieuw pakket gemaakt.

Nadat u een nieuw pakket hebt gemaakt, is de volgende stap het maken van de PyDev-module. De module bevat enkele Python-bestanden voor initialisatie. Deze bestanden of functies van de module kunnen in een andere module worden geïmporteerd. Het programma hoeft dus niet opnieuw te worden geschreven.

Stap 9) Maak een nieuwe PyDev-module. Klik met de rechtermuisknop op pakket> Nieuw> PyDev-module.

Geef uw module een naam en klik op "Voltooien".

Selecteer Lege sjabloon en klik op "OK".

Stap 10) Schrijf je code voor Selenium met Python zoals hieronder weergegeven

Testscripts maken in Selenium met Python

In dit Selenium WebDriver met Python-voorbeeld hebben we automatisering gedaan voor de "Facebook-inlogpagina" met behulp van de Firefox-driver.

Selenium Python Voorbeeld 1: Log in op Facebook

van selenium import webdrivervan selenium.webdriver.common.keys import Keysuser_name = "UW EMAILID"password = "UW WACHTWOORD"driver = webdriver.Firefox ()driver.get ("https://www.facebook.com")element = driver.find_element_by_id ("e-mail")element.send_keys (gebruikersnaam)element = driver.find_element_by_id ("pass")element.send_keys (wachtwoord)element.send_keys (Keys.RETURN)element.close ()

Momentopname van de code

Uitleg van de code

  • Coderegel 1 : Importeer webdriver vanuit de seleniummodule
  • Coderegel 2 : Importeer sleutels van de seleniummodule
  • Coderegel 3 : Gebruiker is een variabele die we zullen gebruiken om de waarden van de gebruikersnaam op te slaan.
  • Coderegel 4 : Variabele "wachtwoord" wordt gebruikt om waarden van het wachtwoord op te slaan.
  • Coderegel 5 : In deze regel initialiseren we "FireFox" door er een object van te maken.
  • Coderegel 6 : De "driver.get-methode" zal naar een pagina navigeren die wordt opgegeven door de URL. WebDriver zal wachten tot de pagina volledig is geladen (dat wil zeggen, de "onload" gelegenheid heeft losgelaten), alvorens de controle terug te geven aan uw test of script.
  • Coderegel 7 : In deze regel vinden we het element van het tekstvak waar de "e-mail" moet worden geschreven.
  • Coderegel 8 : Nu sturen we de waarden naar de e-mailsectie
  • Coderegel 9 : hetzelfde voor het wachtwoord
  • Coderegel 10 : waarden verzenden naar het wachtwoordgedeelte
  • Coderegel 11 : element.send_keys (Keys.RETURN) wordt gebruikt om op enter te drukken nadat de waarden zijn ingevoegd
  • Coderegel 12 : Sluiten

UITGANG

De waarden van de gebruikersnaam "guru99" en wachtwoord ingevoerd.

De Facebook-pagina zal inloggen met e-mailadres en wachtwoord. Pagina geopend (zie afbeelding hieronder)

VOORBEELD 2: Log in op Facebook en controleer de titel

In dit voorbeeld

  • We openen een inlogpagina.
  • Vul het verplichte veld "gebruikersnaam" en "wachtwoord" in.
  • Controleer de paginatitel
van selenium import webdrivervan selenium.webdriver.support.ui import WebDriverWait# Stap 1) Open Firefoxbrowser = webdriver.Firefox ()# Stap 2) Navigeer naar Facebookbrowser.get ("http://www.facebook.com")# Stap 3) Zoek en voer het e-mail- of telefoonveld in en voer het wachtwoord ingebruikersnaam = browser.find_element_by_id ("e-mail")wachtwoord = browser.find_element_by_id ("pass")submit = browser.find_element_by_id ("loginbutton")gebruikersnaam.send_keys ("UW EMAILID")password.send_keys ("UW WACHTWOORD")# Stap 4) Klik op Inloggenindienen.klik ()wait = WebDriverWait (browser, 5)page_title = browser.titleassert page_title == "Facebook"

Momentopname van de code

Uitleg van de code:

  • Coderegel 1-2: seleniumpakketten importeren
  • Coderegel 4: Initialiseer Firefox door een object te maken
  • Coderegel 6: Inlogpagina ophalen (Facebook)
  • Coderegel 8-10: gebruikersnaam ophalen, invoervakken voor wachtwoord en knop Verzenden.
  • Coderegel 11-12: Voer gegevens in in de invoervakken voor gebruikersnaam en wachtwoord
  • Coderegel 14: Klik op de knop "Verzenden"
  • Coderegel 15: maak een wachtobject met een time-out van 5 sec.
  • Coderegel 16: het vastleggen van de titel van het "browser" -object.
  • Coderegel 17: de vastgelegde titelreeks testen met "Facebook"

Samenvatting :

  • Selenium is een open-source webgebaseerde automatiseringstool.
  • Python-taal wordt gebruikt met Selenium voor testen. Het is veel minder uitgebreid en gemakkelijk te gebruiken dan welke andere programmeertaal dan ook
  • Met de Python-API's kunt u via Selenium verbinding maken met de browser
  • Selenium kan de standaard Python-commando's naar verschillende browsers sturen, ondanks variatie in het ontwerp van hun browser.