Я использую клиент python-appium и создаю отчет HTML после завершения тестов. Я хотел бы добавить встроенные изображения неудачных тестов в отчет HTML. Причина встраивания изображения заключается в том, что я также могу получить к нему доступ с удаленного компьютера. Вот код, который я пробовал, и он не работает в другой системе, но локально работает:
@pytest.mark.hookwrapper
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):
screenshot = driver.get_screenshot_as_base64()
extra.append(pytest_html.extras.image(screenshot, ''))
report.extra = extra
Мне кажется, что закодированное изображение генерируется неправильно, так как это то, что я вижу в выходном HTML-файле:
<td class="extra" colspan="4">
<div class="image"><a href="assets/75870bcbdda50df90d4691fa21d5958b.png"><img src="assets/75870bcbdda50df90d4691fa21d5958b.png"/></a></div>
и я ожидаю, что «src» не будет заканчиваться на «.png», и это должна быть длинная строка символов. Я понятия не имею, как это решить.