Python, py.test 'HTMLReport' 对象没有属性 'execute'
Python, py.test 'HTMLReport' object has no attribute 'execute'
我正在尝试将屏幕截图添加到我的 pytest-html 自动测试报告
我已经添加到 plugin.py:
def pytest_runtest_makereport(__multicall__, item):
report = __multicall__.execute()
extra = getattr(report, 'extra', [])
if report.when == 'call':
xfail = hasattr(report, 'wasxfail')
if (report.skipped and xfail) or (report.failed and not xfail):
url = TestSetup.selenium.current_url
report.extra.append(extras.url(url))
screenshot = TestSetup.selenium.get_screenshot_as_base64()
report.extra.append(extras.image(screenshot, 'Screenshot'))
html = TestSetup.selenium.page_source.encode('utf-8')
report.extra.append(extra.text(html, 'HTML'))
report.extra.append(extra.html(html.div('Additional HTML')))
report.extra = extra
return report
但是当运行
py.test --html=report.html filename.py
我得到
INTERNALERROR> File "C:\Python27\lib\site-packages\pytest_html\plugin.py", line 288, in pytest_runtest_makereport
INTERNALERROR> report = __multicall__.execute()
INTERNALERROR> AttributeError: 'HTMLReport' object has no attribute 'execute'
它来自哪里?
问题是因为我在 class 中添加了 pytest_runtest_makereport。它应该在外面。关闭
我正在尝试将屏幕截图添加到我的 pytest-html 自动测试报告
我已经添加到 plugin.py:
def pytest_runtest_makereport(__multicall__, item):
report = __multicall__.execute()
extra = getattr(report, 'extra', [])
if report.when == 'call':
xfail = hasattr(report, 'wasxfail')
if (report.skipped and xfail) or (report.failed and not xfail):
url = TestSetup.selenium.current_url
report.extra.append(extras.url(url))
screenshot = TestSetup.selenium.get_screenshot_as_base64()
report.extra.append(extras.image(screenshot, 'Screenshot'))
html = TestSetup.selenium.page_source.encode('utf-8')
report.extra.append(extra.text(html, 'HTML'))
report.extra.append(extra.html(html.div('Additional HTML')))
report.extra = extra
return report
但是当运行
py.test --html=report.html filename.py
我得到
INTERNALERROR> File "C:\Python27\lib\site-packages\pytest_html\plugin.py", line 288, in pytest_runtest_makereport
INTERNALERROR> report = __multicall__.execute()
INTERNALERROR> AttributeError: 'HTMLReport' object has no attribute 'execute'
它来自哪里?
问题是因为我在 class 中添加了 pytest_runtest_makereport。它应该在外面。关闭