📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
背景与环境安装
测试报告的重要性
在自动化测试中,测试报告的重要性主要体现在:
-
提高问题定位效率:报告中详细列出了失败的测试用例及其原因,帮助测试团队快速识别和定位问题。
-
决策支持:管理层可以利用测试报告确认当前的版本是否满足发布标准
环境安装和使用
-
安装 pytest-html 插件:pip install pytest-html
-
执行脚本时,增加报告生成参数:pytest --html=report.html
定制化测试报告
pytest提供的原始测试报告不够完善,我们需要进一步优化,pytest-html 插件提供了钩子函数(hooks),允许我们定制化测试报告的内容。我们可以在 conftest.py 文件中定义这些钩子函数来修改报告的标题、环境信息、摘要、结果表格等部分信息。
报告优化内容:
-
修改测试报告标题
-
修改测试报告的描述部分
-
增加测试用例描述字段
-
增加测试用例执行时间
代码片段如下:
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%免费】