news 2026/6/15 20:02:49

Web自动化测试:如何生成高质量的测试报告详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Web自动化测试:如何生成高质量的测试报告详解

🍅点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

运行了所有测试用例,控制台输入的结果,如果很多测试用例那也不能够清晰快速的知道多少用例通过率以及错误情况。

web自动化测试实战之批量执行测试用例场景: 运行 AllTest.py 文件后得到的测试结果不够专业,无法直观的分析测试结果,我们能否有一个报告直接展示我测试用例运行的测试结果呢。答案是,当然有。

这里我们需要借助第三方库生成HTML格式的测试报告。这里用到的库是 HTMLTestRunner.py / HTMLTestReportCN.py 文件存放路径为 Python安装路径的Lib子文件夹中例如:F:\python3\Lib 如下图,那么当我们将包成功导入到LIb目录下后,我们可以在 AllTest.py 代码开头直接引用我们对应的报告格式包。

备注: HTMLTestRunner.py HTMLTestReportCN.py 一会最后小编会将包打包好推送给大家,都是基于Python3源码都根据python3修改支持使用的,2个包用法是一致,只是展示报告的风格不同一会儿小编会给你介绍大概样式,各位可以喜欢那种就引用哪种。

现在我们的包导入进来,接着我们要做的是生成的报告我们也要创建一个目录存在报告文件例如:'F:\\python3\\report' ,好报告的包导入了,存放报告的目录我们也创建好了,那么我们来看看基于上篇 AllTest.py 执行所有测试用例直接输出到报告怎么写

1、第一种我们引用的 HTMLTestReportCN.py 如下代码

# -*-coding=utf-8-*- import unittest import os, time import HTMLTestReportCN # 用例路径 case_path = 'F:\\python3\\python_code\\test_case_suite' def AllTest(): '''获取所有的测试模块''' suite = unittest.TestLoader().discover( start_dir=os.path.dirname(case_path), pattern='case*.py', top_level_dir=None ) return suite def getNowTime(): '''获取当前的时间''' return time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time())) def run(): fileName = os.path.join('F:\\python3\\report', getNowTime() + 'report.html') fp = open(fileName,'wb') runner = HTMLTestReportCN.HTMLTestRunner( stream=fp, title=u'项目测试环境单元测试报告', description=u'注:为减少时间人力成本,提高转测质量,特每次对测试环境待发布的代码会对基础功能模块进行单元测试,进一步的提高测试效率,如下为用例执行结果,请查阅!') runner.run(AllTest()) if __name__ == '__main__': run()

注解:在以上完善后的AllTest.py文件中其中导入了os,timemo模块、HTMLTestReportCN 库。getNowTime 方法用来获取当前时间,每一次生成的测试报告如果文件名称一致,由于加上了最新时间信息,便可以根据文件名称确认哪个是最新的测试报告

run 方法用来执行测试套件中的测试用例和生成测试报告。在report 文件夹下生成了最新的测试报告,report的目录如下图所示

2、第二种我们引用的 HTMLTestRunner.py 如下代码

# -*-coding=utf-8-*- import unittest import os, time import HTMLTestRunner # 用例路径 case_path = 'F:\\python3\\python_code\\test_case_suite' def AllTest(): '''获取所有的测试模块''' suite = unittest.TestLoader().discover( start_dir=os.path.dirname(case_path), pattern='case*.py', top_level_dir=None ) return suite def getNowTime(): '''获取当前的时间''' return time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time())) def run(): fileName = os.path.join('F:\\python3\\report', getNowTime() + 'report.html') fp = open(fileName,'wb') runner = HTMLTestRunner.HTMLTestRunner( stream=fp, title=u'巡服带教测试环境单元测试报告', description=u'注:为减少时间人力成本,提高转测质量,特每次对测试环境待发布的代码会对基础功能模块进行单元测试,进一步的提高测试效率,如下为用例执行结果,请查阅!') runner.run(AllTest()) if __name__ == '__main__': run()

查看报告输出样式

以上就是web自动化批量执行用例之后如果生成报告文件

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

​​​软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 15:47:50

基于Android的大学食堂点餐APP(源码+lw+部署文档+讲解等)

课题介绍本课题旨在设计并实现基于 Android 的大学食堂点餐 APP,针对高校食堂线下就餐排队耗时、选餐信息不透明、餐品浪费率高、食堂运营效率低等校园就餐痛点,打造适配大学生群体与食堂运营的移动点餐服务平台,实现食堂点餐线上化、取餐便捷…

作者头像 李华
网站建设 2026/6/15 17:52:09

基于Android的电影院网上订票系统(源码+lw+部署文档+讲解等)

课题介绍 本课题旨在设计并实现基于 Android 的电影院网上订票系统,针对传统影院线下购票排队耗时、场次信息获取不及时、选座体验差、票务管理低效等观影痛点,打造适配移动场景的影院票务服务 APP,实现电影购票全流程线上化、场次查询便捷化…

作者头像 李华
网站建设 2026/6/15 17:51:04

基于Android的体育馆预约管理系统APP(源码+lw+部署文档+讲解等)

课题介绍本课题旨在设计并实现基于 Android 的体育馆预约管理系统 APP,针对传统体育馆场地预约线下登记繁琐、场次信息不透明、场地资源利用率低、预约冲突频发、运营管理效率低等痛点,打造适配体育馆运营方与健身用户的移动预约服务平台,实现…

作者头像 李华
网站建设 2026/6/15 14:32:46

重要更新:ModStart 根节点字号 (font-size) 调整公告

为了进一步提升框架的标准化程度及第三方库的兼容性,ModStart 决定从下一个版本开始,正式将 HTML 根节点的 font-size 由现有的 20px 统一调整为 16px。 一、 调整背后的考量 回归行业标准: 全球主流浏览器默认基准字号均为 16px。此次调整将…

作者头像 李华
网站建设 2026/6/15 13:52:43

金融产品客户终身价值预测与提升策略

金融产品客户终身价值预测与提升策略 关键词:金融产品、客户终身价值、预测模型、提升策略、数据分析 摘要:本文聚焦于金融产品客户终身价值的预测与提升策略。首先介绍了研究的背景、目的、预期读者和文档结构,对相关术语进行了清晰定义。接着阐述了客户终身价值的核心概念…

作者头像 李华
网站建设 2026/6/15 16:18:12

跳跃游戏(贪心算法)详解 | 时间O(n)空间O(1)最优解​

在算法题中,跳跃游戏是经典的贪心算法应用场景,其核心需求是判断能否从数组第一个位置跳到最后一个位置,同时追求最优的时间和空间复杂度。本文将详细拆解贪心算法求解跳跃游戏的思路、逻辑细节、示例验证及复杂度分析,全程无代码…

作者头像 李华