python 3.12.2
诱惑-pytest:2.13.5
allure-python-commons:2.13.5
py测试:8.2.2
诱惑CLI:2.30.0
Allure 文档说我可以添加标签。
import allure from allure_commons.types
import LabelType
@allure.label(LabelType.LANGUAGE, "python")
@allure.label(LabelType.FRAMEWORK, "pytest")
def test_authentication():
“它可以是来自 LabelType 类或任何其他字符串的常量。”
所以我认为这应该有效:
import allure
@allure.label("any other string", "python")
@allure.label("another any other string", "pytest")
def test_authentication():
尽管,当我通过 添加我的@allure.label(
任何其他字符串自定义标签时,它不会显示在报告中。
例如:
# root_dir/test.py
import allure
@allure.label('Area', 'someArea')
@allure.label('Component', 'someComponent')
@allure.label('Relevance', 'someVersion')
def test_smth()
然后我运行测试;指向
reports/
保存报告;然后在浏览器中打开它:
pytest -v -s --alluredir reports
allure serve reports
报告中没有我的自定义标签的痕迹。并且报告的 HTML 中没有相应的标签或元素或其他内容。
与此同时,当我在 Allure 报告目录
*-result.json
中打开 reports/
时,我会在那里看到我的自定义标签:
"labels": [{"name": "Area", "value": "someArea"}, {"name": "Component", "value": "someComponent"}, {"name": "Relevance", "value": "someVersion"}
文档中的示例未出现在最终报告中:
@allure.label(LabelType.LANGUAGE, "python")
最终报告中实际显示的内容:
@allure.title()
@allure.description()
@allure.severity()
@allure.testcase()
@allure.story()
@allure.featur()
@allure.tag
# root_dir/custom_allure_labels.py
import allure
def area(value):
return allure.label('Area', value)
def component(value):
return allure.label('Component', value)
def relevance(value):
return allure.label('Relevance', value)
# root_dir/test.py
import allure
from custom_allure_labels import area, component, relevance
@area('someArea')
@component('someComponent')
@relevance('someVersion')
def test_smth()
没有结果。
# root_dir/allure.properties
allure.label.Area=Area
allure.label.Component=Component
allure.label.Relevance=Relevance
# root_dir/custom_allure_labels.py
import allure
from allure_commons.types import LabelType
def area(value):
allure.label(LabelType.CUSTOM_LABEL_1, value)
return allure.label('Area', value)
def component(value):
allure.label(LabelType.CUSTOM_LABEL_2, value)
return allure.label('Component', value)
def relevance(value):
allure.label(LabelType.CUSTOM_LABEL_3, value)
return allure.label('Relevance', value)
# root_dir/test.py
import allure
from custom_allure_labels import area, component, relevance
@area('someArea')
@component('someComponent')
@relevance('someVersion')
def test_smth()
没有结果。
# root_dir/custom_allure_labels.py
import allure
def custom_allure_labels(area, component, relevance):
def decorator(func):
allure.label('Area', area)(func)
allure.label('Component', component)(func)
allure.label('Relevance', relevance)(func)
return func
return decorator
# root_dir/test.py
import allure
from custom_allure_labels import area, component, relevance
@custom_allure_labels(
area='someArea',
component='someComponent',
relevance='someVersion',
)
def test_smth()
我想做的事情有什么问题吗?
有没有办法将自定义属性添加到`LabelType`中?
自定义标签在 Allure 报告中不可见,但可以映射到 Allure Testops 中的自定义字段,并用于高级过滤和分组。
您可以在此处找到在 Allure 报告中生效的标签列表:https://github.com/orgs/allure-framework/discussions/2059#discussioncomment-6616266