Allure rapportage in webdriverio jenkins

25 feb. 2024 | by Ralph Van Der Horst

Allure Rapportage in webdriverio/jenkins

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

by Ralph Van Der Horst

arrow right
back to blog

share this article

Relevant articles

Hoe meerdere tests tegelijk uit te voeren in web driver io een eenvoudige handleiding

WebDriverIO: Parallelle Tests Uitvoeren - Complete Handleiding Het parallel uitvoeren van tests in WebDriverIO is een krachtige manier om je …

Read More

Hoe een allure rapport te serveren op git hub pagina's een stap voor stap handleiding

Hoe een Allure-rapport te serveren op GitHub Pages: Een stapsgewijze handleiding Geautomatiseerd testen is een essentieel onderdeel van …

Read More

Hoe u een allure rapport op git hub pagina's kunt aanbieden een stapsgewijze handleiding

Hoe een Allure-rapport op GitHub-pagina’s te presenteren: een stapsgewijze handleiding Geautomatiseerd testen is een essentieel onderdeel van …

Read More