This repository has been archived by the owner on Jan 14, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 169
Allure Framework Structure
Ivan Krutov edited this page May 19, 2014
·
8 revisions
Allure consists of several core components including:
- Adapter - a plugin to some test framework which provide information about testing process in XML format.
- Report generator - generates report data from the test results data.
- Report face - web application which visualizes report data. The modules above are independent one from another and interact only through the files. This allows to replace any of these modules by your own implementation, use an adapter for your preferred programming language or change resulting report look.
An adapter should be written for each concrete testing framework and must capture information about test cases and their results. Adapter saves results to an XML file, which is then read by universal generator in order to create report data. Every adapter should be very simple to use in testing framework and should collect as much information as possible. Minimum requirements to the collected data are:
- Test suite start and finish time
- Test case start, finish times and result (PASSED, SKIPPED, FAILED)
- For failed test cases we also need error message and stack trace An adapter can optionally provide the following information:
- A set of steps in test case
- A set of attached files related to step or test case
- Test case severity, description and title We already have adapters for Java (jUnit, testNG), Python (pyTest), Javascript (Karma), PHP (PHPUnit) and Ruby(RSpec). You may want to write a new adapter for any other testing framework.
Report generator converts XML file coming from adapter to JSON format which is then used in report face.
Allure report face is a single HTML-page application which visualizes JSON data outputted by report generator.
- 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.