Selenium Python Handleiding met WebDriver (voorbeeld)
โก Slimme samenvatting
Selenium with Python koppelt de WebDriver-automatiseringsbibliotheek aan Python beknopte syntaxis voor het testen van webapplicaties Firefox, Chrome en Internet Explorer. Deze handleiding configureert PyDev in Eclipse, schrijft inlogscripts en legt uit waarom teams de voorkeur geven aan Python over Java.

Selenium with Python
Selenium ondersteunt Python en kan dus worden gebruikt als Selenium WebDriver met Python om uit te proberen.
- Python Het is eenvoudig in vergelijking met andere programmeertalen, omdat de syntaxis veel minder uitgebreid is.
- De Python Met API's kunt u verbinding maken met de browser via Selenium.
- Selenium stuurt de standaard Python commando's naar verschillende browsers, ondanks de verschillen in hun browserontwerp.
Je kan lopen Selenium with Python scripts voor FirefoxChrome, IE, enz. op verschillende besturingssystemen.
Wat is Python?
Python is een objectgeoriรซnteerde scripttaal op hoog niveau. Het is op een gebruiksvriendelijke manier ontworpen. Python Het maakt gebruik van eenvoudige Engelse trefwoorden die gemakkelijk te interpreteren zijn. Het heeft minder syntactische complicaties dan welke andere taal dan ook. programmeertaal.
Zie enkele voorbeelden in de onderstaande tabel.
| Keyword | 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 | Tekenreeks uitvoeren als Python | exec 'print โHallo wereld!โ' |
Wat is Selenium?
Selenium is een tool om je webapplicatie te testen. Je kunt dit op verschillende manieren doen, bijvoorbeeld:
- Sta toe dat het op knoppen kan tikken.
- Voer inhoud in formulieren in.
- Skim uw site om te controleren of alles โOKโ is, enzovoort.
Hoe te installeren en configureren PyDev in Eclipse
PyDev is de Python ontwikkelomgeving voor Eclipse.
Stap 1) Ga naar Eclipse Marktplaats. Help > Nieuwe software installeren.
De volgende stap is het installeren van de "pydev IDE" voor Eclipse.
Stap 2) In deze stap:
- Zoek in 'Werken met' naar 'http://pydev.org/updates' en vervolgens
- Selecteer alle vermelde items en klik twee keer op Volgende.
- Accepteer de licentieovereenkomst en klik op Voltooien.
Stap 3) Mogelijk krijgt u een beveiligingswaarschuwing te zien. Klik op 'Toch installeren'.
Stap 4) Stel voorkeuren in zodat u kunt gebruiken Python afhankelijk van de projectbehoeften. Ga naar Venster > Voorkeuren > PyDev > Tolk > Python Tolk.
Stel de standaard in Python Tolk, precies zoals u de instelling hebt ingesteld Java compiler voor uitvoering Java code. Om de naam van de interpreter te wijzigen, klikt u op de knop 'Bladeren naar python/pypy exe'.
Stap 5) Geef in deze stap de โinterpreternaamโ en het โexeโ bestandspad van Python.
- Klik op 'Bladeren' en zoek python.exe waar je het hebt geรฏnstalleerd Python.
- Klik op de knop 'OK'.
- Selecteer alle mappen en klik op OK.
- Klik op โToepassen en sluitenโ.
Stap 6) Maak een nieuw project aan in PythonIn deze stap:
- klik met de rechtermuisknop PyDev Pakketverkenner > Nieuw.
- Selecteer optie anderen.
- Selecteer "PyDev > PyDev Projectโ.
- Druk op de knop 'Volgende'.
- Geef je project een naam.
- Klik op "Finish".
Je kunt het nieuwe zien Python (PyDev)-project is gemaakt.
Stap 7) Na het creรซren van de 'PyDev Project', maakt u een nieuw Python pakket.
- Klik met de rechtermuisknop op Project > Nieuw > PyDev Pakket.
- Geef je pakket een naam en klik op Voltooien.
Stap 8) Zoals je in de onderstaande schermafbeelding kunt zien, wordt er een nieuw pakket aangemaakt.
Maak vervolgens een PyDev module. De module bevat Python Initialisatiebestanden, waarvan de functies in een andere module kunnen worden geรฏmporteerd, waardoor het herschrijven van het programma wordt voorkomen.
Stap 9) Maak een nieuw PyDev module. Klik met de rechtermuisknop op pakket > Nieuw > PyDev module.
Geef je module een naam en klik op 'Voltooien'.
Selecteer 'Lege sjabloon' en klik op 'OK'.
Stap 10) Schrijf uw code voor Selenium with Python zoals hieronder aangegeven.
Testscripts maken in Selenium with Python
In deze Selenium WebDriver met Python We hebben bijvoorbeeld de automatisering voor de Facebook-inlogpagina uitgevoerd met behulp van de Firefox bestuurder.
Selenium with Python Voorbeeld 1: Log in op 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()
Momentopname van de Code
Verklaring van de code
- Code lijn 1: Importeer webdriver vanuit de selenium-module.
- Code lijn 2: Importeer Keys vanuit de Selenium-module.
- Code lijn 3: user_name is een variabele die wordt gebruikt om de gebruikersnaam op te slaan.
- Code lijn 4: De variabele "password" wordt gebruikt om de waarde van het wachtwoord op te slaan.
- Code lijn 5: InitialiserenFirefoxDoor er een object van te maken.
- Code lijn 6: De methode โdriver.getโ navigeert naar de pagina die wordt opgegeven door de URLWebDriver wacht tot de pagina volledig is geladen voordat de controle wordt teruggegeven aan uw script.
- Code lijn 7: Zoek het tekstvak waarin het "e-mailadres" moet worden ingevoerd.
- Code lijn 8: Stuur de waarden naar het e-mailgedeelte.
- Code lijn 9: Hetzelfde geldt voor het wachtwoord.
- Code lijn 10: Stuur waarden naar het wachtwoordgedeelte.
- Code lijn 11: element.send_keys(Keys.RETURN) drukt op enter nadat de waarden zijn ingevoerd.
- Code lijn 12: Sluiten.
Output: De gebruikersnaam "guru99" en het wachtwoord worden ingevoerd.
De Facebookpagina zal inloggen met het e-mailadres en wachtwoord. Pagina geopend (zie afbeelding hieronder).
Selenium with Python Voorbeeld 2: Log in op Facebook en controleer de titel.
In dit voorbeeld openen we een inlogpagina, vullen we de verplichte velden 'gebruikersnaam' en 'wachtwoord' in en controleren we de paginatitel.
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"
Momentopname van de code
Uitleg van de code:
- Code regel 1-2: Selenium-pakketten importeren.
- Code lijn 4: initialiseren Firefox door een object te creรซren.
- Code lijn 6: Ga naar de inlogpagina (Facebook).
- Code regel 8-10: Haal de invoervelden voor gebruikersnaam en wachtwoord en de verzendknop op.
- Code regel 11-12: Voer de gegevens in de daarvoor bestemde velden voor gebruikersnaam en wachtwoord in.
- Code lijn 14: Klik op de knop 'Verzenden'.
- Code lijn 15: Maak een wachtobject aan met een time-out van 5 seconden.
- Code lijn 16: Leg de titel vast van het "browser"-object.
- Code lijn 17: Test de vastgelegde titelstring met "Facebook".
Waarom kiezen Python over Java in Selenium
Enkele punten die in het voordeel spreken Python over Java te gebruiken met Selenium zijn:
- Java programma's hebben de neiging langzamer te werken in vergelijking met Python 's.
- Java gebruikt traditionele beugels om blokken te beginnen en te eindigen, terwijl Python maakt gebruik van inspringen.
- Java maakt gebruik van statische typing en Python wordt dynamisch getypt.
- Python is eenvoudiger en compacter vergeleken met Java.




















