Skip to main content
← Back to Blog

Parallelle tests met Python, Cucumber en Docker Compose deel 1

Integratie van Allure-rapportage, Jenkins en e-mailmeldingen

Na het opzetten van parallelle tests met Python, Cucumber en Docker Compose, is de volgende stap het integreren van Allure-rapportage, het automatiseren van het proces met Jenkins en het instellen van e-mailmeldingen voor testresultaten. Deze gids leidt je door deze stappen.

Vereisten

  • Python is op uw systeem geïnstalleerd.
  • Docker en Docker Compose geïnstalleerd.

Stappen

Allure-rapportage

  1. Allure Command-Line Tool installeren Zorg ervoor dat het Allure-opdrachtregelprogramma is geïnstalleerd. Zo niet, volg dan de installatie-instructies in de officiële documentatie van Allure. (https://allurereport.org/docs/)

2. De code uitbreiden met allure-import en annotaties en screenshot-functie

In de uitgebreide code is de import-allure-bibliotheek toegevoegd en ook een functie voor het vastleggen van schermafbeeldingen

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.")

ook wordt per stap een extra annotatie toegevoegd om weer te geven wat de stap doet en worden schermafbeeldingen toegevoegd

@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")

Wanneer alles is toegevoegd, voert u de opdracht uit

pytest –alluredir=allure-resultaten

Dan krijg je dit geweldige rapport

Gebruikte libs zijn pytest, pytest_bdd, webdriver, webdriver_manager, allure

Opmerking: voor gebruikers die Behave install pip install gebruiken, behave allure-behave allure-python-commons

Het commando is: behave -f Allure_behave.Formatter:AllureFormatter -o. /alllure-uitslagen. /functies

3. Genereer Allure-rapporten

Genereer na het uitvoeren van uw tests Allure-rapporten met behulp van het commando

voor beide gebruik de resultatenmap om het rapport te maken, dit kan automatisch worden gedaan

allure serve <path_to_allure_results_directory>

Jenkins-integratie met Allure

1. Jenkins installeren

Als je dat nog niet hebt gedaan, installeer Jenkins. Volg de officiële installatiehandleiding van Jenkins.

2. Installeer de Allure Jenkins-plug-in

Navigeer naar Jenkins beheren > Plug-ins beheren > Beschikbaar en zoek naar de Allure Jenkins-plug-in. Installeer het.

3. Configureer de Allure Jenkins-plug-in

Navigeer naar Jenkins beheren > Global Tool Configuration en voeg Allure Commandline toe met het pad naar je Allure-installatie.

4. Maak een Jenkins-taak

Creëer een nieuwe Jenkins-job. Voeg in de buildsectie de nodige stappen toe om je tests uit te voeren. Voeg in de acties na de build Allure Report toe en specificeer de resultatenmap.

E-mailmeldingen

1. E-mailinstellingen configureren in Jenkins

Navigeer naar Jenkins beheren > Systeem configureren en scrol omlaag naar het gedeelte E-mailmeldingen. Vul de nodige gegevens in voor je SMTP-server.

2. E-mailmelding toevoegen aan Jenkins Job

Bewerk je Jenkins-taak. Voeg in de acties na de build een bewerkbare e-mailmelding toe. Configureer de ontvangers, het onderwerp en de inhoud naar wens. Zorg ervoor dat u het Allure-rapport bijvoegt of een link naar de Jenkins-taak opgeeft voor eenvoudige toegang.

3. Activeer de e-mail bij het voltooien van de taak

Zorg ervoor dat de e-mail wordt verzonden zodra de Jenkins-taak is voltooid, ofwel bij succes, mislukking of beide, afhankelijk van uw voorkeur.

Zie het bijgewerkte gitlab-project in hoofdlijnen

https://gitlab.com/learnautomatedtesting/paralleltestingpythonseleniumdocker

www.linkedin.com/comm/mynetwork/discovery-see- all?usecase=people_follows&followmember=Ralph Vanderhorst