Selenium + Python: een how-to
An INFJ personality wielding brevity in speech and writing.
Automatiseringstests hebben de manier veranderd waarop de software-industrie dingen voor elkaar krijgt. Selenium-automatiseringstests zijn een van de meest gewilde technologieën geworden in geautomatiseerd testen. In deze blog zullen we je door de basis van Selenium leiden, aan de slag gaan met Selenium, een vereiste om Selenium, Python te leren, waarom Python met Selenium de beste optie is voor automatiseringstests, en ook een beetje in de Behave BDD-tool duiken.
Een snel overzicht van:
- Wat is Selenium?
- Wat is Python?
- Waarom is Selenium met Python een gemakkelijke keuze voor de meeste testers?
- Voorbeeld van een Python-testscript
- Hoe aan de slag met Selenium?
- Vereisten om Selenium te leren
- Python’s Behave-framework
- Voordelen van BDD
Wat is Selenium?
Selenium is een open-sourcetool met een reeks browserautomatiseringstools die webbrowserinteracties automatiseren. Hiermee kunt u de testscripts schrijven in programmeertalen zoals Ruby, Java, Python, Perl, PHP, NodeJS en vele andere. Selenium-enabled scripts simuleren gebruikersinteractie met webpagina’s met behulp van gebruikersgedragreeksen die een testcase vertegenwoordigen die het selecteren van opties, het invoeren van gegevens, het specificeren van wachttijden, enz. vertegenwoordigt.
De software biedt ook Selenium IDE, een tool die wordt gebruikt voor het maken en testen van Selenium-scripts, die is geïmplementeerd als Chrome- en Firefox-browserextensies. Hiermee kunnen ontwikkelaars tests opnemen, bewerken en debuggen.
Wat is Python?
Het is een programmeertaal op hoog niveau die programmeurs helpt om duidelijke en logische code te schrijven voor projecten van elke omvang en soort. Hoewel het niet is gespecificeerd voor specifieke problemen, wordt het veel gebruikt om websites en software te bouwen, taken te automatiseren en gegevensanalyse uit te voeren. Deze objectgeoriënteerde taal heeft een gemakkelijk te leren syntaxis die de leesbaarheid vergroot en de kosten van programma-onderhoud verlaagt. Dankzij de eenvoudige begrijpelijkheid wordt Python gebruikt om machine learning-modellen te maken.
Python wordt gebruikt in meerdere 3D-animatiepakketten zoals Houdini, 3ds Max, Maya, Cinema 4D, Blender en Lightwave.
Waarom is Selenium met Python een gemakkelijke keuze voor de meeste testers?
Selenium ondersteunt een aantal programmeertalen voor het uitvoeren van testautomatisering, maar twee van de meest populaire zijn Java en Python. In dit artikel zullen we bespreken waarom programmeurs Selenium met Python zouden moeten gebruiken voor automatiseringstestdoeleinden.
Python is een van de gemakkelijkste programmeertalen om te leren, is open-source en een programmeertaal die wijdverbreid is ingevoerd. Python wordt gebruikt in het volgende: ontwikkeling van webapplicaties, mobiele apps, GUI-ontwikkeling, datawetenschap, netwerkprogrammering, game-ontwikkeling enzovoort.
Laten we eens kijken naar enkele van de redenen waarom Selenium met Python uw beste keuze zou moeten zijn om te testen.
- Aangezien Python een scripttaal is, hoeft u zich geen zorgen te maken over het uitvoeren van een compiler voor het converteren van code van meerdere regels code naar iets dat kan worden geïmplementeerd
- Python-taal heeft een enorme gemeenschap en biedt oplossingen voor alle soorten problemen waarmee u te maken krijgt. Voor degenen die alleen de wereld van Python betreden, zullen ze zich goed ondersteund voelen door de gemeenschap van gebruikers
- Het is gemakkelijk te coderen en ook gemakkelijk te lezen
- Een groot aantal programmeurs is gewend om Python voor verschillende projecten te gebruiken
- Met de API van Python kunt u via de browser verbinding maken met Selenium. De binding van beide helpt bij het schrijven van functionele tests door gebruik te maken van Selenium WebDriver
- Selenium kan eenvoudig standaardcommando’s van Python naar een aantal browsers sturen, ongeacht de variatie in het ontwerp van de browser
- Python is eenvoudig en compact in vergelijking met andere programmeertalen
- Het werkt sneller en gebruikt inspringen om blokken te starten en te beëindigen
Afgezien van alle bovenstaande redenen, is nog een reden waarom Selenium met Python de beste keuze is vanwege het aantal aanwezige tools om het uit te breiden. Maar zorg ervoor dat u Python om de juiste redenen selecteert. Wanneer je op het punt staat om de tool met Selenium te kiezen, zorg er dan voor dat je deze beslist op basis van factoren zoals de situatie van het team, taalgebruik op organisatieniveau, gebruiksvriendelijkheid, ondersteuning, enz.
Bekijk hieronder een korte video van onze SDET-lead over “Waarom Python een geweldige aanvulling is op Selenium-testautomatisering” .
Voorbeeld van een Python-testscript
Laten we eens kijken naar een voorbeeld van een Py-testscript voor ‘inlog’-functionaliteit
import tijd
van datetime import datetimevan src.main.framework.webAction importeer WebAction als web
class LoginPage(web):
gebruiker = “Gebruiker” + datetime.now().strftime(‘ %Y-% m- %d-% H: %M:% S’)
def enter_username_and_password(self, gebruikersnaam, pwd):
proberen:
web.enter_text_on(self, pageName=”loginpage”, elementName=”txtUserName”, value=gebruikersnaam)
web.enter_text_on(self, pageName=”loginpage”, elementName=”txtPassword”, value=pwd)
behalve BaseException:
web.take_screenshot(zelf, web.com_direct1)
self.fail(“Kon gebruikersnaam en wachtwoord niet invoeren”)
Hoe aan de slag met Selenium?
Als Selenium nieuw voor u is, kunt u hart ophalen voor het feit dat het de automatisering van alle belangrijke browsers ondersteunt met behulp van WebDriver. WebDriver is een API die een interface in natuurlijke taal biedt om het gedrag van de webbrowser te controleren. Elk van de browsers wordt ondersteund door een specifieke WebDriver-implementatie, een stuurprogramma genaamd.
Selenium biedt compatibiliteit met een aantal programmeertalen zoals C#, Java, JavaScript, Python, Ruby, PHP, enz. De testers kunnen de taal gebruiken waarin ze testgevallen willen ontwerpen, een echt bewijs van de flexibiliteit ervan.
Om Selenium in uw automatisering te gebruiken, moet u de gewenste taalbindingbibliotheken installeren. Hier leest u hoe u Selenium kunt installeren.
- Installeer een Selenium-bibliotheek voor de programmeertaal die u kiest
- Stel het browserstuurprogramma in om uw browser te automatiseren
- Selenium Grid instellen en configureren om uw tests te schalen
Als je Selenium wilt starten met een low-code en playback tool, dan moet je Selenium IDE gebruiken.
Vereisten om Selenium te leren:
- Je moet op de hoogte zijn van de basisprincipes van het testen van software, de basisprincipes van automatisering, Core Java en ook bekend zijn met webtechnologieën zoals CSS, HTML, XML, XPATH, DOM en JavaScript.
- Er moet op zijn minst een basiskennis zijn van database, programmeerlogica, gegevensstructuur en front-end-ontwikkeling.
- Enkele van de basisprincipes van softwaretests waarvan u op de hoogte moet zijn, zijn defecten, begrip van testgevallen, handmatig testen, regressietesten en automatiseringstests.
- Je moet ook een grondige kennis hebben van automatiseringstests, kennis hebben van de automatiseringstesttools, applicaties die geschikt zijn voor automatiseringstests, de meest populaire automatiseringstestkaders, tests die kunnen worden geautomatiseerd, enzovoort.
- Weten hoe u de juiste zoekertjes gebruikt. Locators zijn bouwstenen van een Selenium-script, en weten welke te gebruiken is cruciaal.
Python’s Behave-framework
Behave is een gedragsgestuurd testraamwerk dat vergelijkbaar is met andere BDD-raamwerken zoals SpecFlow, Cucumber-JVM en Cucumber. Ondanks dat het een BDD-testraamwerk is, verschilt het aanzienlijk van de andere Selenium Python-testraamwerken.
Ook al is Selenium gemakkelijk te begrijpen, naarmate de technologie complexer wordt, is niet elke stakeholder in staat om de logica goed te vatten. Degenen met een niet-technische achtergrond vinden het misschien moeilijk om meer inzicht te krijgen in de gebruiksscenario’s en wat de klanten willen. Dit is waar het Python Behave-framework, dat in duidelijke taal is geschreven, belanghebbenden helpt de logica in de testscripts te begrijpen.
Voordelen van BDD:
- Omdat de tests zijn geschreven in augurk, wat een eenvoudige taal is, kunnen alle leden deelnemen aan het maken van tests
- BDD-tests zijn meer herbruikbaar en modulair dan TDD-tests
- BDD zorgt ervoor dat alle belanghebbenden de scenario’s begrijpen en helpt bij het maken van betere producten met behulp van testen
- Omdat er veel meer nadruk ligt op zakelijke en functiespecificaties, hebben BDD-tests meer waarde voor de klant
Klik hier om onze blog over “Effectieve shift-links met BDD” te lezen
Conclusie:
Python is het meest geschikt voor Selenium-testen vanwege de eenvoudige instelling ervan. Dankzij de eenvoudige programmeersyntaxis van de eerste, geven de meeste bedrijven er de voorkeur aan. Python helpt ook om de Selenium-scripts met veel gemak te schrijven, in tegenstelling tot andere programmeertalen. Voor complexe functionele tests is PyTest, een Python Selenium-framework, de beste keuze.
Als u een bedrijf bent dat op zoek is naar diensten voor het testen van automatisering, kan het team van Zuci u daarbij helpen. Het maakt niet uit wat voor soort testautomatiseringsraamwerk je wilt gebruiken, we zijn er zeker van dat we de juiste richting kunnen bieden.
Gerelateerd lezen/kijken: