Selenium is een krachtig hulpmiddel voor het besturen van webbrowsers via programma's en het uitvoeren van browserautomatisering. Het is functioneel voor alle browsers, werkt op alle grote besturingssystemen en de scripts zijn in verschillende talen geschreven, d.w.z Python , Java , C# , enz., we zullen met Python werken. Selenium Tutorial behandelt alle onderwerpen zoals – WebDriver, WebElement, Unit Testing met selenium. Deze Python Selenium-tutorial behandelt Selenium van de basis tot geavanceerd en professioneel gebruik. 
Waarom Selenium Python leren?
- Open source en draagbaar – Selenium is een open source en draagbaar webtestframework.
- Combinatie van tool en DSL – Selenium is een combinatie van tools en DSL (Domain Specific Language) om verschillende soorten tests uit te voeren.
- Gemakkelijker te begrijpen en te implementeren – Selenium-opdrachten zijn gecategoriseerd in verschillende klassen, waardoor ze gemakkelijker te begrijpen en te implementeren zijn.
- Minder last en stress voor testers – Zoals hierboven vermeld, wordt de hoeveelheid tijd die nodig is voor het testen van herhaalde testscenario’s op elke nieuwe build bijna tot nul teruggebracht. Daarom wordt de last van de tester verminderd.
- Kostenreductie voor de zakelijke klanten – Het bedrijf moet de testers hun salaris betalen, dat wordt bespaard met behulp van de automatiseringstesttool. De automatisering bespaart niet alleen tijd, maar levert ook kostenvoordelen op voor het bedrijf.
Selenium leren met Python opent veel mogelijkheden voor het efficiënt en effectief testen van webapplicaties, vooral in combinatie met populaire cloudtestplatforms zoals LambdaTest.
LambdaTest is een door AI aangedreven testorkestratie- en uitvoeringsplatform waarmee ontwikkelaars en testers Selenium Python-tests op schaal kunnen uitvoeren in een extern testlaboratorium met meer dan 3000 echte desktopbrowsers en besturingssystemen. Met Selenium Python kunt u robuuste testscripts schrijven om het testen van webapplicaties te automatiseren en hun functionaliteit in verschillende browsers en platforms te garanderen. Ontwikkelaars en testers kunnen zelfs parallel testen uitvoeren op meerdere combinaties, waardoor ze snel hoogwaardige builds kunnen leveren.
Basisprincipes van Selenium- Basisprincipes van Selenium
- Bestanddelen van Selenium
- Toepassingen en gebruik
- Functies
- Beperkingen
Basisprincipes van Selenium Python
- Selenium Python introductie en installatie
- Navigeren door links met behulp van de get-methode
- Interactie met webpagina
- Het lokaliseren van afzonderlijke elementen
- Meerdere elementen lokaliseren
- Locatorstrategieën – Selenium Python
- Tests schrijven met Selenium Python
Strategieën lokaliseren
ontwerppatronen Java
- Afzonderlijke elementen lokaliseren –
- find_element_by_id()
- vind_element_op_naam()
- find_element_by_xpath()
- find_element_by_link_text()
- find_element_by_partial_link_text()
- find_element_by_tag_name()
- find_element_by_class_name()
- find_element_by_css_selector()
- Meerdere elementen lokaliseren –
- find_elements_by_name()
- find_elements_by_xpath()
- find_elements_by_link_text()
- find_element_by_partial_link_text()
- find_elements_by_tag_name()
- find_elements_by_class_name()
- find_elements_by_css_selector()
Wacht
- Expliciet wachten
- Impliciete wachttijden
beste auto ter wereld
- Basisprincipes van actieketens
- Klik
- Klik en houd vast
- context_klik
- Dubbelklik
- slepen en neerzetten
- toets neer
- sleutel_omhoog
- verplaats_via_offset
- verplaats_naar_element
- verplaats_naar_element_met_offset
- uitgave
- reset_acties
- verzend_sleutels
Geavanceerd in Selenium Python –
- Uitzonderingen afhandelen – Selenium Python
- Speciale toetsen in Selenium Python
- Hoe om te gaan met waarschuwingsprompts in Selenium Python?
- Cookies toevoegen en verwijderen in Selenium Python
- Hoe ga je terug en vooruit in de geschiedenis met Selenium Python?
- Speciale toetsen in Selenium Python
- Bewering in Selenium WebDriver met behulp van TestNg
- Selenium Python-trucs
- Paginaobjectmodel (POM)
Projectvoorbeelden
- Whatsappen met Python!
- Browserautomatisering met Selenium
- Facebook Inloggen met Python
- Automatisering van Happy Birthday-posts op Facebook met Selenium
- Toegang krijgen tot het pop-upinlogvenster in selenium met behulp van Python
- SMS-bommenwerper met Selenium
Selenium-webdriver
Selenium Webdriver is de ouder van alle methoden en klassen die in Selenium Python worden gebruikt. Het is de drijvende kracht van Selenium die ons in staat stelt verschillende bewerkingen uit te voeren op meerdere elementen op een webpagina. Driver heeft verschillende methoden en attributen die u kunt gebruiken om het testen in Selenium Python te automatiseren. Om te controleren hoe u webdriver kunt gebruiken, gaat u naar -
WebElement in Selenium Python
. Verschillende methoden die je in selenium Python kunt gebruiken zijn:
| Methode | Beschrijving |
|---|---|
| voeg_cookie toe | Voegt een cookie toe aan uw huidige sessie. |
| rug | Gaat een stap terug in de browsergeschiedenis. |
| dichtbij | Sluit het huidige venster. |
| create_web_element | Creëert een webelement met de opgegeven element_id. |
| verwijder_alle_cookies | Verwijder alle cookies binnen het bereik van de sessie. |
| verwijder_cookie | Verwijdert één cookie met de opgegeven naam. |
| execute_async_script | Voert JavaScript asynchroon uit in het huidige venster/frame. |
| voer_script uit | Voert JavaScript synchroon uit in het huidige venster/frame. |
| vooruit | Gaat een stap vooruit in de browsergeschiedenis. |
| volledig scherm_venster | Roept de windowmanager-specifieke ‘volledig scherm’-bewerking op |
| ontvang_cookie | Ontvang één cookie op naam. Retourneert de cookie indien gevonden, Geen indien niet. |
| ontvang_cookies | Retourneert een reeks woordenboeken die overeenkomen met cookies die zichtbaar zijn in de huidige sessie. |
| get_log | Haalt het logboek op voor een bepaald logboektype |
| get_screenshot_as_base64 | Haalt de schermafbeelding van het huidige venster op als een base64-gecodeerde tekenreeks, wat handig is in ingebedde afbeeldingen in HTML. |
| get_screenshot_as_file | Slaat een screenshot van het huidige venster op in een PNG-afbeeldingsbestand. |
| get_screenshot_as_png | Haalt de schermafbeelding van het huidige venster op als binaire gegevens. |
| get_window_position | Haalt de x-, y-positie van het huidige venster op. |
| get_window_rect | Haalt de x- en y-coördinaten van het venster op, evenals de hoogte en breedte van het huidige venster. |
| get_window_size | Haalt de breedte en hoogte van het huidige venster op. |
| impliciet_wacht | Stelt een sticky time-out in om impliciet te wachten tot een element wordt gevonden, |
| maximaliseer_venster | Maximaliseert het huidige venster dat webdriver gebruikt |
| minimaliseer_venster | Roept de window manager-specifieke ‘minimaliseren’-bewerking op |
| ontslag nemen | Verlaat het stuurprogramma en sluit elk bijbehorend venster. |
| vernieuwen | Vernieuwt de huidige pagina. |
| set_page_load_timeout | Stel de hoeveelheid tijd in die moet wachten totdat het laden van een pagina is voltooid voordat er een fout optreedt. |
| set_script_timeout | Stel de hoeveelheid tijd in die het script moet wachten tijdens een execute_async_script-aanroep voordat er een fout optreedt. |
| set_window_position | Stelt de x-, y-positie van het huidige venster in. (venster.moveTo) |
| set_window_rect | Stelt de x- en y-coördinaten van het venster in, evenals de hoogte en breedte van het huidige venster. |
| huidige_url | Haalt de URL van de huidige pagina op. |
| huidige_venster_handle | Geeft de handle van het huidige venster terug. |
| pagina bron | Haalt de bron van de huidige pagina op. |
| titel | Geeft de titel van de huidige pagina terug. |
Selenium WebElement
array van strings in c-programmering
Een element kan een tag, eigenschap of iets anders zijn; het is een instantie van een klasse
selenium.webdriver.remote.webelement.WebElement
. Nadat u een element op het scherm hebt gevonden met behulp van selenium, wilt u er misschien op klikken of subelementen zoeken, enz. Selenium biedt methoden rond dit WebElement van Selenium. Om te zien hoe u een elementobject in selenium kunt gebruiken, gaat u naar -
. Hieronder worden verschillende methoden besproken die u met een element in Selenium Python kunt gebruiken:
| Elementmethoden | Beschrijving |
|---|---|
| is geselecteerd() | is_selected methode wordt gebruikt om te controleren of het element is geselecteerd of niet. Het retourneert een Booleaanse waarde True of False. |
| is uitgestald() | is_displayed methode wordt gebruikt om te controleren of het element zichtbaar is voor de gebruiker of niet. Het retourneert een Booleaanse waarde True of False. |
| is ingeschakeld() | is_enabled methode wordt gebruikt om te controleren of het element is ingeschakeld of niet. Het retourneert een Booleaanse waarde True of False. |
| get_property() | get_property methode wordt gebruikt om eigenschappen van een element op te halen, zoals het verkrijgen van de eigenschap text_length van de ankertag. |
| get_attribute() | get_attribute methode wordt gebruikt om attributen van een element op te halen, zoals het href attribuut van de ankertag. |
| verzend_sleutels() | De methode send_keys wordt gebruikt om tekst naar elk veld te sturen, zoals het invoerveld van een formulier of zelfs om een tagparagraaf te verankeren, enz. |
| Klik() | De klikmethode wordt gebruikt om op elk element te klikken, zoals een ankertag, een link, enz. |
| duidelijk() | De clear-methode wordt gebruikt om de tekst van elk veld te wissen, zoals het invoerveld van een formulier of zelfs om een tag-paragraaf te verankeren, enz. |
| schermafdruk() | screenshot-methode wordt gebruikt om een screenshot van het huidige element op te slaan in een PNG-bestand. |
| indienen() | De verzendmethode wordt gebruikt om een formulier in te dienen nadat u gegevens naar een formulier hebt verzonden. |
| waarde_van_css_property() | value_of_css_property methode wordt gebruikt om de waarde van een CSS-eigenschap voor een element te verkrijgen. |
| plaats | location-methode wordt gebruikt om de locatie van het element in het renderbare canvas te verkrijgen. |
| screenshot_as_png | De methode screenshot_as_png wordt gebruikt om de schermafbeelding van het huidige element als binaire gegevens op te halen. |
| ouder | parent-methode wordt gebruikt om een interne verwijzing te verkrijgen naar de WebDriver-instantie waaruit dit element is gevonden. |
| maat | size-methode wordt gebruikt om de grootte van het huidige element te bepalen. |
| tagnaam | tag_name methode wordt gebruikt om de naam van de tag te verkrijgen waarnaar u verwijst. |
| tekst | tekstmethode wordt gebruikt om tekst van het huidige element op te halen. |
| rect | rect-methode wordt gebruikt om een woordenboek te krijgen met de grootte en locatie van het element. |
| screenshot_as_base64 | De methode screenshot_as_base64 wordt gebruikt om de schermafbeelding van het huidige element op te halen als een met base64 gecodeerde tekenreeks. |