The package contains classes and functions for users of Allure Report. It can be used to enhance reports using an existing Allure adapter or to create new adapters.
Install an adapter that suits your test framework. You can then add more
information to the report by using functions from the allure
module.
Use these functions as decorators of your own functions, e.g.:
import allure
@allure.title("My test")
def test_fn():
pass
The full list of decorators:
allure.title
allure.description
allure.description_html
allure.label
allure.severity
allure.epic
allure.feature
allure.story
allure.suite
allure.parent_suite
allure.sub_suite
allure.tag
allure.id
allure.manual
allure.link
allure.issue
allure.testcase
allure.step
Refer to the adapter's documentation for the information about what decorators are supported and what functions they can be applied to.
Most of the functions of Runtime API can be accessed via allure.dynamic.*
.
Call them at runtime from your code.
The full list includes:
allure.dynamic.title
allure.dynamic.description
allure.dynamic.description_html
allure.dynamic.label
allure.dynamic.severity
allure.dynamic.epic
allure.dynamic.feature
allure.dynamic.story
allure.dynamic.suite
allure.dynamic.parent_suite
allure.dynamic.sub_suite
allure.dynamic.tag
allure.dynamic.id
allure.dynamic.manual
allure.dynamic.link
allure.dynamic.issue
allure.dynamic.testcase
allure.dynamic.parameter
allure.attach
allure.attach.file
allure.step
Refer to the adapter's documentation for the information about what functions are supported and where you can use them.
You may use allure-pytest-commons
to build your own Allure adapter. The key
elements of the corresponding API are:
allure_python_commons.model2
: the object model of Allure Report.allure_python_commons.logger
: classes that are used to emit Allure Report objects (tests, containers, attachments):
AllureFileLogger
: emits to the file system.AllureMemoryLogger
: collects the objects in memory. Useful for
testing.allure_python_commons.lifecycle.AllureLifecycle
: an implementation of
Allure lifecycle that doesn't isolate the state between threads.allure_python_commons.reporter.AllureReporter
: an implementation of
Allure lifecycle that supports some multithreaded scenarios.A new version of the API is likely to be released in the future as we need a decent support for multithreaded and async-based concurrency (see here and here).