【发布时间】:2022-01-12 17:36:49
【问题描述】:
我正在尝试将失败的硒测试的屏幕截图添加到我的 pytest-html 报告中,但它不起作用。屏幕截图仅显示为未找到图像图标。
这是我的 conftest.py
@pytest.fixture()
def chrome_driver_init(request, path_to_chrome):
driver = webdriver.Chrome(options=opts, executable_path=path_to_chrome)
request.cls.driver = driver
page_object_init(request, driver)
driver.get(URL)
driver.maximize_window()
yield
driver.quit()
@pytest.hookimpl(hookwrapper=True)
def pytest_runtest_makereport(item, call):
pytest_html = item.config.pluginmanager.getplugin("html")
outcome = yield
report = outcome.get_result()
extra = getattr(report, "extra", [])
if report.when == "call":
# always add url to report
xfail = hasattr(report, "wasxfail")
if (report.skipped and xfail) or (report.failed and not xfail):
# only add additional html on failure
extra.append(pytest_html.extras.image(REPORT_PATH+r"screenshots\image.png"))
extra.append(pytest_html.extras.html("<div>Additional HTML</div>"))
report.extra = extra
我正在使用pytest --no-header -v ../tests/ --html=./Test_Report.html --self-contained-html 运行它
我直接从 pytest-html 文档中得到了钩子。我在这里错过了什么?
编辑:发布了错误的代码,现在已修复
【问题讨论】:
标签: python selenium pytest webpage-screenshot pytest-html