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
- 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