Inleiding
Allure Reporting is een krachtige tool voor het genereren van visuele en gedetailleerde testrapporten in WebdriverIO. In plaats van de standaard console-output krijg je professionele rapporten met screenshots, stap-voor-stap documentatie en uitgebreide testresultaten.
1. Allure Command-Line Tool Installatie
De eerste stap is het installeren van de Allure command-line tool. Dit is essentieel voor het genereren van de rapporten.
Zorg ervoor dat je de Allure command-line tool geïnstalleerd hebt. Zo niet, volg dan de installatie-instructies op de officiële documentatie van Allure.
2. Uitbreiding van de Code met Allure
Import en Screenshot Functionaliteit
In de uitgebreide code wordt de Allure bibliotheek geïmporteerd en een screenshot functie toegevoegd:
def capture_screenshot(name):
"""Capture screenshot and attach to Allure report."""
if driver is not None:
screenshot = driver.get_screenshot_as_png()
allure.attach(screenshot, name=name, attachment_type=allure.attachment_type.PNG)
else:
print("Driver is not initialized. Cannot capture screenshot.")
Annotaties voor Teststappen
Per teststap wordt een extra annotatie toegevoegd om duidelijk weer te geven wat elke stap doet, inclusief automatische screenshots:
@allure.step('I am using the selenium grid with "{browser_name}"')
@given('I am using the selenium grid with "<browser_name>"')
driver.get("https://www.learnautomatedtesting.com")
capture_screenshot("Visit Learn Automated Testing")
Tests Uitvoeren
Wanneer alles is toegevoegd, voer je het volgende commando uit:
pytest –alluredir=allure-results
Dan krijg je een geweldig, visueel rapport met alle testdetails.
Gebruikte bibliotheken: pytest, pytest_bdd, webdriver, webdriver_manager, allure
Opmerking voor Behave gebruikers: Installeer met pip install behave allure-behave allure-python-commons
Het commando voor Behave is:
behave -f allure_behave.formatter:AllureFormatter -o ./allure-results ./features
3. Genereer Allure-rapporten
Na het uitvoeren van je tests, genereer je Allure-rapporten met het commando:
allure serve <path_to_allure_results_directory>
Voor beide frameworks gebruik je de resultatenmap om het rapport te maken - dit kan volledig geautomatiseerd worden.
Jenkins Integratie met Allure
1. Jenkins Installatie
Als je dat nog niet gedaan hebt, installeer dan Jenkins. Volg de officiële Jenkins installatiegids voor je besturingssysteem.
2. Allure Jenkins Plugin Installeren
Navigeer naar Beheer Jenkins > Beheer Plugins > Beschikbaar en zoek naar “Allure Jenkins Plugin”. Installeer het plugin.
3. Allure Jenkins Plugin Configureren
Ga naar Beheer Jenkins > Globale Tool Configuratie en voeg Allure Commandline toe met het pad naar je Allure installatie.
4. Jenkins Job Aanmaken
Maak een nieuwe Jenkins job aan:
- Voeg in het bouwgedeelte de nodige stappen toe om je tests uit te voeren
- Voeg in de post-build acties “Allure Report” toe
- Specificeer de resultatenmap waar je testresultaten worden opgeslagen
E-mail Notificaties
1. E-mail Instellingen Configureren in Jenkins
Navigeer naar Beheer Jenkins > Configureer Systeem en scroll naar beneden naar het E-mail Notificatie gedeelte. Vul de nodige details in voor je SMTP server.
2. E-mail Notificatie aan Jenkins Job Toevoegen
Bewerk je Jenkins job:
- Voeg in de post-build acties “Bewerkbare E-mail Notificatie” toe
- Configureer de ontvangers, onderwerp, en inhoud zoals gewenst
- Zorg ervoor dat je het Allure rapport bijvoegt of een link naar de Jenkins job toevoegt voor gemakkelijke toegang
3. E-mail Triggers Instellen
Zorg ervoor dat de e-mail wordt verzonden zodra de Jenkins job voltooid is. Je kunt kiezen voor notificaties bij:
- Alleen succesvolle builds
- Alleen gefaalde builds
- Beide scenario’s
Dit hangt af van je specifieke wensen en de behoeften van je team.
Voordelen van deze Implementatie
Visuele Rapporten: In plaats van logbestanden krijg je professionele, visuele rapporten die gemakkelijk te interpreteren zijn.
Automatische Screenshots: Elke teststap wordt gedocumenteerd met screenshots, wat debugging en analyse vergemakkelijkt.
CI/CD Integratie: Volledig geïntegreerd in je Jenkins pipeline voor geautomatiseerde rapportage.
Stakeholder Communicatie: Automatische e-mailnotificaties houden alle belanghebbenden op de hoogte van testresultaten.
Traceabiliteit: Gedetailleerde stap-voor-stap documentatie van alle uitgevoerde tests.
Deze implementatie zorgt voor een professionele testrapportage-workflow die geschikt is voor teams van elke grootte en complexiteit.
Conclusie
Met Allure Reporting transform je je WebdriverIO tests van eenvoudige console-output naar professionele, visuele rapporten die stakeholders kunnen begrijpen en waarderen. De integratie met Jenkins en e-mailnotificaties maakt het een complete oplossing voor geautomatiseerde testrapportage in moderne CI/CD pipelines