Skip to content
This repository has been archived by the owner on Jan 14, 2019. It is now read-only.

Allure Framework Structure

Ivan Krutov edited this page Aug 22, 2014 · 8 revisions

This page describes internal structure of Allure Framework and is mainly created for developers and contributors.

Allure Modules

Allure Framework source code is organized as a standard Maven multi-module project. Each module is briefly described below.

Allure-e2e

Stores Allure end-to-end tests. The entire report generation lifecycle is tested:

  • Fixed input XML files are copied from allure-results directory of allure-model module.
  • Report data in JSON format is generated with the logic from AllureReportGenerator.
  • Web-server with report face is started and a set of Selenium WebDriver tests are run.

Allure-java-annotations

Stores annotations (@Attachment, @Step and so on) to be used in Java-based frameworks such as JUnit and TestNG.

Allure-java-aspects

Stores the implementation of AspectJ aspects. We use aspects for such features as Steps and Attachments because respective annotations can be present on any method in test code.

Allure-java-adaptor-api

Contains core Allure classes such as event definitions, lifecycle entry point, exceptions.

Allure-junit-adaptor

Contains Allure adapter for JUnit test framework. See respective page for details.

Allure-model

Stores utility classes and main XSD file which is used while generating XML results and when validating such XML coming from outside.

Allure-report-data

Contains the implementation of Java Allure report XML files generator. This generator is then used in Allure CLI, Allure Jenkins Plugin ,Allure Maven Plugin and Allure TeamCity Plugin.

Allure-report-face

Stores AngularJs-based report user interface.

Allure-testng-adaptor

Contains Allure adapter for TestNG test framework. See respective page for details.