UI自动化测试新手村:用pytest-html打造个性化HTML报告

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


背景与环境安装

测试报告的重要性

    在自动化测试中,测试报告的重要性主要体现在:

  1. 提高问题定位效率:报告中详细列出了失败的测试用例及其原因,帮助测试团队快速识别和定位问题。

  2. 决策支持:管理层可以利用测试报告确认当前的版本是否满足发布标准

环境安装和使用

  1. 安装 pytest-html 插件:pip install pytest-html

  2. 执行脚本时,增加报告生成参数:pytest --html=report.html

定制化测试报告

pytest提供的原始测试报告不够完善,我们需要进一步优化,pytest-html 插件提供了钩子函数(hooks),允许我们定制化测试报告的内容。我们可以在 conftest.py 文件中定义这些钩子函数来修改报告的标题、环境信息、摘要、结果表格等部分信息。

 报告优化内容

  1. 修改测试报告标题

  2. 修改测试报告的描述部分

  3. 增加测试用例描述字段

  4. 增加测试用例执行时间

代码片段如下:

def pytest_html_report_title(report):
    report.title = "xxx模块UI自动化"

def pytest_html_results_summary(prefix, summary, postfix):
    # prefix.clear() # 清空summary中的内容
    prefix.extend([html.p("所属部门: 质量中心")])
    prefix.extend([html.p("测试执行人: xx")])

# th:表头
# td:表格
@pytest.hookimpl(optionalhook=True)
def pytest_html_results_table_header(cells):
    # 测试报告的正文:表头的第二列添加描述字段(Description)
    cells.insert(1, html.th('Description'))  
    # 删除链接(Link)列
    cells.pop()  


@pytest.hookimpl(optionalhook=True)
def pytest_html_results_table_row(report, cells):
    #在表行的第二个位置(索引为1)插入一个新的单元格,内容为测试报告的描述。
    cells.insert(1, html.td(report.description))
    cells.pop()


@pytest.hookimpl(hookwrapper=True)
def pytest_runtest_makereport(item, call):
    outcome = yield
    #获取测试结果的报告对象
    report = outcome.get_result()
    # 将测试报告的描述字段设置为测试函数的文档字符串(函数的注释部分文字)。
    report.description = str(item.function.__doc__)

测试报告上的description字段信息来源于测试用例的描述部分,如下:

测试报告展示

测试报告基础信息

  • 测试结果概览:包括测试用例的通过率、失败率和总测试用例数

  • 测试用例明细:用例执行结果、用例描述、用例脚本文件信息、用例执行时间

  • 失败原因日志

除了上述信息外,还可以添加截图或者是录制的视频字段,添加方式也是跟上面一样。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值