UI自动化测试-用例执行失败时自动截图
前言:最近在学习巩固一些pytest+selenium的测试框架中的知识点,把学习过程中一些常用的操作做一下分享。
刚开始学习的时候,这个问题困扰了我很久,网上找了很多方法,最后发现实现的效果都不太理想。所以今天分享下如何实现用例失败时自动添加截图
推荐一种比较简单的实现方式,看代码:
# 用例失败添加截图
@pytest.hookimpl(tryfirst=True, hookwrapper=True)
def pytest_runtest_makereport(item, call):
outcome = yield
rep = outcome.get_result()
if rep.when == "call" and rep.failed:
with allure.step('用例失败截图'):
allure.attach(driver.get_screenshot_as_png(), "截图", allure.attachment_type.PNG)
需要注意的地方,此方法需要放在conftest.py下,如下图:
说明:这里用到了driver.get_screenshot_as_png()这个截图方法,然后将图片添加到allure报告中去(该方法实现的逻辑不做过多说明,感兴趣的伙伴可以自行去了解)
当用例执行失败时,会自动截图,并在allure报告中展示,见下图:
今天分享到这儿,存在不足的地方还请大家多多指教!!!