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.

  • ๐Ÿ Python Voordeel: Less een omslachtige syntaxis maakt Selenium Scripts zijn gemakkelijker te lezen en te onderhouden.
  • ๐ŸŒ Webstuurprogramma: Verzendt standaardopdrachten naar FirefoxChrome en IE, ongeacht het browserontwerp.
  • ๐Ÿงฉ PyDev Setup: Installeer de PyDev plug-in in Eclipse en stel de Python tolk.
  • ๐Ÿ“ Aanmeldingsscripts: Zoek velden op basis van ID, verstuur sleutels en verzend het formulier automatisch.
  • โœ… Titelbewering: WebDriverWait plus assert controleert de paginatitel na het inloggen.
  • ๐Ÿค– AI-assistentie: AI-tools genereren locators en Selenium Python scripts op basis van eenvoudige prompts.

Selenium Python Handleiding met WebDriver

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.

Installeren en configureren PyDev in Eclipse

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

Stap 2) In deze stap:

  1. Zoek in 'Werken met' naar 'http://pydev.org/updates' en vervolgens
  2. Selecteer alle vermelde items en klik twee keer op Volgende.
  3. Accepteer de licentieovereenkomst en klik op Voltooien.

Installeren en configureren PyDev in Eclipse

Stap 3) Mogelijk krijgt u een beveiligingswaarschuwing te zien. Klik op 'Toch installeren'.

Installeren en configureren PyDev in Eclipse

Stap 4) Stel voorkeuren in zodat u kunt gebruiken Python afhankelijk van de projectbehoeften. Ga naar Venster > Voorkeuren > PyDev > Tolk > Python Tolk.

Installeren en configureren PyDev in Eclipse

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'.

Installeren en configureren PyDev in Eclipse

Stap 5) Geef in deze stap de โ€œinterpreternaamโ€ en het โ€œexeโ€ bestandspad van Python.

  1. Klik op 'Bladeren' en zoek python.exe waar je het hebt geรฏnstalleerd Python.
  2. Klik op de knop 'OK'.
  3. Selecteer alle mappen en klik op OK.
  4. Klik op โ€œToepassen en sluitenโ€.

Installeren en configureren PyDev in Eclipse

Stap 6) Maak een nieuw project aan in PythonIn deze stap:

  1. klik met de rechtermuisknop PyDev Pakketverkenner > Nieuw.
  2. Selecteer optie anderen.

Installeren en configureren PyDev in Eclipse

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

Installeren en configureren PyDev in Eclipse

  1. Geef je project een naam.
  2. Klik op "Finish".

Installeren en configureren PyDev in Eclipse

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.

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

Installeren en configureren PyDev in Eclipse

Installeren en configureren PyDev in Eclipse

Stap 8) Zoals je in de onderstaande schermafbeelding kunt zien, wordt er een nieuw pakket aangemaakt.

Installeren en configureren PyDev in Eclipse

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.

Installeren en configureren PyDev in Eclipse

Geef je module een naam en klik op 'Voltooien'.

Installeren en configureren PyDev in Eclipse

Selecteer 'Lege sjabloon' en klik op 'OK'.

Installeren en configureren PyDev in Eclipse

Stap 10) Schrijf uw code voor Selenium with Python zoals hieronder aangegeven.

Installeren en configureren PyDev in Eclipse

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

Maak testscripts in Selenium with Python

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.

Maak testscripts in Selenium with Python

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

Maak testscripts in Selenium with Python

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

Maak testscripts in Selenium with Python

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:

  1. Java programma's hebben de neiging langzamer te werken in vergelijking met Python 's.
  2. Java gebruikt traditionele beugels om blokken te beginnen en te eindigen, terwijl Python maakt gebruik van inspringen.
  3. Java maakt gebruik van statische typing en Python wordt dynamisch getypt.
  4. Python is eenvoudiger en compacter vergeleken met Java.

Veelgestelde vragen

Voer `pip install selenium` uit. Modern Selenium schepen met Selenium De manager downloadt automatisch het bijbehorende browserstuurprogramma, waardoor handmatige installatie van chromedriver niet nodig is.

WebDriver is de Selenium interface die een echte browser aanstuurt en commando's verzendt naar FirefoxChrome of Edge om de navigatie, klikken en formulierinvoer te beheren.

Selenium 4. find_element_by_id is verwijderd. Gebruik de By-klasse: from selenium.webdriver.common.by import By, then driver.find_element(By.ID, โ€œemailโ€).

Impliciet wachten controleert de DOM gedurende een bepaalde tijd. Expliciet wachten (WebDriverWait) pauzeert totdat aan een specifieke voorwaarde is voldaan. Vermijd het combineren van beide om onvoorspelbare timing te voorkomen.

Nee. PyDev in Eclipse Dat is รฉรฉn optie. Je kunt ook uitvoeren Selenium Python scripts in PyCharm, VS Code, of via de commandoregel.

Selenium WebDriver ondersteunt FirefoxChrome, Edge, Safari en Internet Explorer. Hetzelfde geldt voor alle browsers: Chrome, Edge, Safari en Internet Explorer. Python Het script voert ze uit door ze te verwisselen.ping de bestuurder.

Ja. AI-assistenten zoals ChatGPT zetten een testbeschrijving in gewone taal om in Selenium Python Code aanpassen, locators voorstellen en oude find_element_by_id-aanroepen omzetten naar de By-syntaxis.

Ja. GitHub Copilot suggereert stabiele locators, legt NoSuchElementException-fouten uit en adviseert expliciete wachttijden, waardoor onbetrouwbare tests op dynamische pagina's worden verminderd.

Vat dit bericht samen met: