在PyTest中创建带有失败测试错误消息的jira票据



我有一段代码,它生成一个报告,并在测试失败时添加一个屏幕截图:

def pytest_runtest_makereport(item):
pytest_html = item.config.pluginmanager.getplugin('html')
outcome = yield
report = outcome.get_result()
extra = getattr(report, 'extra', [])
if report.when == 'call' or report.when == "setup":
xfail = hasattr(report, 'wasxfail')
if (report.skipped and xfail) or (report.failed and not xfail):
file_name = report.nodeid.replace("::", "_") + ".png"
_capture_screenshot(file_name)
if file_name:
create_jira_issue(report.captlog, file_name)
html = '<div><img src="%s" alt="screenshot" style="width:304px;height:228px;" ' 
'onclick="window.open(this.src)" align="right"/></div>' % file_name
extra.append(pytest_html.extras.html(html))
report.extra = extra

它还创建带有描述和截图的Jira票据。我想传递的是"描述"。基本上是日志(我已经有了)加上断言失败信息。

是否有一种方法可以在这里获得信息并传递它?

是否有更好的方法为失败的测试创建票据?

要添加输出和断言失败信息作为测试输出,只需添加以下参数:

python3 -m pytest (...) --capture=sys (...)

基本上,就这些了:)

如果它将包含在jira中,这在很大程度上取决于您如何从HTML报告中创建此票据。这样你就能在报告中得到它了。