blob: 8b980110138ff8a1c458da3f600c3f2ed8f753e5 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
Metadata-Version: 2.4
Name: allure-python-commons
Version: 2.14.3
Summary: Contains the API for end users as well as helper functions and classes to build Allure adapters for Python test frameworks
Home-page: https://allurereport.org/
Author: Qameta Software Inc., Stanislav Seliverstov
Author-email: sseliverstov@qameta.io
License: Apache-2.0
Project-URL: Source, https://github.com/allure-framework/allure-python
Keywords: allure reporting report-engine
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Software Development :: Testing
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: attrs>=16.0.0
Requires-Dist: pluggy>=0.4.0
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: project-url
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary
## Allure Common API
[](https://pypi.python.org/pypi/allure-python-commons)
[](https://pypi.python.org/pypi/allure-python-commons)
> 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.
[<img src="https://allurereport.org/public/img/allure-report.svg" height="85px" alt="Allure Report logo" align="right" />](https://allurereport.org "Allure Report")
- Learn more about Allure Report at [https://allurereport.org](https://allurereport.org)
- 📚 [Documentation](https://allurereport.org/docs/) – discover official documentation for Allure Report
- ❓ [Questions and Support](https://github.com/orgs/allure-framework/discussions/categories/questions-support) – get help from the team and community
- 📢 [Official announcements](https://github.com/orgs/allure-framework/discussions/categories/announcements) – stay updated with our latest news and updates
- 💬 [General Discussion](https://github.com/orgs/allure-framework/discussions/categories/general-discussion) – engage in casual conversations, share insights and ideas with the community
- 🖥️ [Live Demo](https://demo.allurereport.org/) — explore a live example of Allure Report in action
---
## User's API
Install an adapter that suits your test framework. You can then add more
information to the report by using functions from the `allure` module.
### Decorators API
Use these functions as decorators of your own functions, e.g.:
```python
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.
### Runtime API
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.
## Adapter API
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](https://github.com/allure-framework/allure-python/issues/697) and
[here](https://github.com/allure-framework/allure-python/issues/720)).
|