-
Notifications
You must be signed in to change notification settings - Fork 168
Allure Framework Structure
This page describes internal structure of Allure Framework and is mainly created for developers and contributors.
Allure Framework source code is organized as a standard Maven multi-module project. Each module is briefly described below.
Stores Allure end-to-end tests. The entire report generation lifecycle is tested:
- Fixed input XML files are copied from the allure-results directory in the allure-model module.
- Report data in JSON format is generated with the logic from AllureReportGenerator.
- A web server with the report face is started and a set of Selenium WebDriver tests are run.
Stores annotations (@Attachment, @Step and so on) to be used in Java-based frameworks such as JUnit and TestNG.
Stores the implementation of AspectJ aspects. We use aspects for such features as Steps and Attachments because the respective annotations can be present on any method in test code.
Contains core Allure classes such as event definitions, lifecycle entry point, and exceptions.
Contains the Allure adapter for JUnit test framework. For details, see the respective page.
Stores utility classes and the main XSD file, which is used while generating XML results and when validating such XML coming from outside.
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.
Stores AngularJs-based report user interface.
Contains Allure adapter for TestNG test framework. See respective page for details.
- aShot - WebDriver Screenshot utility. Take screenshots, crop, prettify, compare.
- HTML Elements - A Java framework that provides easy-to-use interaction with page elements in webpage tests.
- Properties - A Java library for populating beans with system environment properties in a simple and convenient way.
- Perspective - API and shell to orchestrate multiple clouds.