我想使用pytest adaptor
自定义我的诱惑测试报告。例如,在概述页面上添加环境详细信息。在“概述”屏幕上更改“报告名称”。
我尝试按照文档中的建议添加conftest.py
中的环境详细信息,但它对我不起作用
def pytest_configure(config):
allure.environment(test_server='testserver', report='My Test Report')
我还尝试在allure-report文件夹中添加environment.properties
,但这也无效。
如果我在这里做错了,请告诉我,如何解决这个问题。
答案 0 :(得分:1)
在解析命令行选项后调用所有插件和 已加载初始conftest文件。
每个插件都有自己的pytest_configure方法,这里发生的是你的pytest_configure你conftest.py在allure_configure之前被调用。
一个简单的解决方法是通过添加 @ pytest.hookimpl(trylast = True)作为标题,让你的pytest_configure尽可能晚地执行(最好是最后一个)。
@pytest.hookimpl(trylast=True)
def pytest_configure(config):
allure.environment(test_server='testserver', report='My Test Report')
答案 1 :(得分:1)
您可以这样设置诱人的测试环境数据:
def pytest_sessionfinish(session, exitstatus):
session.config.allure.environment(test_server='testserver', report='My Test Report')
旧的pytest插件已弃用,新的pytest插件与旧的插件不兼容。
如果要添加环境属性,则必须创建environment.properties
文件并将其放置在alluredir文件夹中。
def pytest_sessionfinish(session, exitstatus):
report_dir = session.config.option.allure_report_dir # Gets the --alluredir directory path
env_details = """a:b
c:d
"""
if report_dir:
with open('{}/{}'.format(report_dir, 'environment.properties'), 'w') as allure_env:
allure_env.write({}.format(env_details))
此代码将创建environment.properties
文件并将其放在诱人的结果目录中。当您使用allure-cli为该目录提供服务时,您将看到环境详细信息。
答案 2 :(得分:0)
我从未尝试过pytest适配器。但无论适配器是什么,您都可以使用相同的工具将XML报告转换为HTML。所以environment.properties应该工作。您可以使用https://github.com/allure-examples/allure-testng-example
进行测试答案 3 :(得分:0)
正如我在代码实现中发现的allure
设置环境变量尚未在Python框架中实现。
allure.py
模块。
from allure_commons._allure import label
from allure_commons._allure import severity
from allure_commons._allure import tag
from allure_commons._allure import epic, feature, story
from allure_commons._allure import link
from allure_commons._allure import issue, testcase
from allure_commons._allure import Dynamic as dynamic
from allure_commons._allure import step
from allure_commons._allure import attach
from allure_commons.types import Severity as severity_level
from allure_commons.types import AttachmentType as attachment_type
__all__ = [
'label',
'severity',
'tag',
'epic'
'feature',
'story',
'link',
'issue',
'testcase',
'step'
'dynamic'
'severity_level',
'attach',
'attachment_type'
]
Allure的开发者已经意识到这一点并正在努力。 您可以看到相应的bug。