别再只用Allure啦!这个工具轻松搞定高颜值测试报告

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

📝 职场经验干货:

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

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

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

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

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

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

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


聊聊背景

在软件开发和测试过程中,自动化测试报告是记录测试执行结果、分析测试质量并指导后续改进的重要文档。

简单的事情重复做,这也是上家单位的理念体现。其编写主要基于以下几个核心需求:

1. 提高测试效率和透明度

自动化测试通过脚本替代人工操作,能快速执行大量重复用例,但执行结果需要以结构化报告形式呈现,便于团队快速定位问题。

报告提供实时可视化数据(如通过率、失败用例、执行时长),帮助团队掌握测试进度。

2. 支持决策与问题追溯

开发、测试和产品团队需依赖报告中的详细日志(如错误信息)复现缺陷,明确问题所在。

管理层通过汇总报告(如测试覆盖率、缺陷趋势)评估版本质量,决定是否发布。

报告可作为项目交付物,可以给客户或第三方查验。

3. 持续改进测试流程

通过历史报告对比(如不同版本的失败用例分布),识别测试用例设计的不足或自动化脚本的稳定性问题。

结合数据分析(如高频失败模块),优化测试策略和资源分配。

4. 自动化测试报告的典型应用场景

  • 周期构建:持续集成(CICD)中自动生成报告,反馈代码变更对质量的影响。

  • 版本发布前:汇总测试结果,作为上线准入依据。

  • 故障复盘:通过历史报告追溯缺陷引入节点。

5. 报告的核心内容

  • 概述:包括测试时间、环境、版本号、执行机配置等基础信息。

  • 结果概览:通过率、失败/阻塞、跳过用例数。

  • 详情:测试用例、时长、结果、截图。

  • 统计分析:本次统计,与历史数据的对比(如缺陷增长趋势)。

自动化测试报告类型

自动化测试报告XTestRunner

近期在整理Unittest测试框架时,看到自带的HTMLTestRunner有些简单,同时又探索一款支持unittest的高颜值自动化测试报告——新玩意儿XTestRunner。

首先导入包,pip install XTestRunner

Collecting XTestRunner
  Downloading xtestrunner-1.8.4-py3-none-any.whl.metadata (3.6 kB)
Requirement already satisfied: jinja2<4.0.0,>=3.1.2 in d:\zheng\python\python38\lib\site-packages (from XTestRunner) (3.1.6)
Requirement already satisfied: requests>=2.22.0 in d:\zheng\python\python38\lib\site-packages (from XTestRunner) (2.32.3)
Requirement already satisfied: MarkupSafe>=2.0 in d:\zheng\python\python38\lib\site-packages (from jinja2<4.0.0,>=3.1.2->XTestRunner) (2.1.5)
Requirement already satisfied: charset-normalizer<4,>=2 in d:\zheng\python\python38\lib\site-packages (from requests>=2.22.0->XTestRunner) (3.4.1)
Requirement already satisfied: idna<4,>=2.5 in d:\zheng\python\python38\lib\site-packages (from requests>=2.22.0->XTestRunner) (3.10)
Requirement already satisfied: urllib3<3,>=1.21.1 in d:\zheng\python\python38\lib\site-packages (from requests>=2.22.0->XTestRunner) (2.2.3)
Requirement already satisfied: certifi>=2017.4.17 in d:\zheng\python\python38\lib\site-packages (from requests>=2.22.0->XTestRunner) (2025.1.31)
Downloading xtestrunner-1.8.4-py3-none-any.whl (554 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 554.9/554.9 kB 367.4 kB/s eta 0:00:00
Installing collected packages: XTestRunner
Successfully installed XTestRunner-1.8.4

再次,runtest.py中代码如下:​​​​​​​

import time
import unittest
from XTestRunner import HTMLTestRunner
GLOBAL_REPORTBASEPATH = 'D:/zheng/testcode/po_demo_unittest'
GLOBAL_CURRENT=time.strftime("%Y%m%d_%H%M%S", time.localtime(time.time()))
start_dir = GLOBAL_REPORTBASEPATH + "/test_dir"
suit = unittest.defaultTestLoader.discover(start_dir, pattern='test_*.py', top_level_dir=None)
if __name__ == "__main__":
reportfile = GLOBAL_REPORTBASEPATH + '/test_report/' + GLOBAL_CURRENT + 'testreport.html'
fp=open(reportfile,'wb')
    runner=HTMLTestRunner(stream=fp,
                          title="自动化测试报告",
                          description="结果运行环境:Windows11,Chrome浏览器",        tester="枫叶",
                          language="zh-CN"
                          )
    runner.run(suit)
    fp.close()

自动化测试报告发送邮件

1. 导入包yagmail​​​​​​​

import yagmail
yag=yagmail.SMTP(user="***@163.com",password="***",
                 host="smtp.163.com")
contents=['This is the body, and here is just text http://somedomain/image.png',
            'You can find an audio file attached.', '/local/path/song.mp3']
subject="This is the Subject"
yag.send("***@163.com","This is Subject",contents)
yag.close()
  • 出现报错:

报错TypeError: unhashable type: 'list'

  • 解决:

改为yagmail 版本=0.11.215,为了不用最新版本,避免兼容问题

再次运行成功了!

2. 接下来集成到run_test.py中​​​​​​​​​​​​​​

import time
import unittest
import yagmail
from HTMLTestRunner import HTMLTestRunner
def send_email(report):
    yag=yagmail.SMTP(user="***@163.com",
                     password="***",
                     host='smtp.163.com')
    subject="自动化测试报告"
    contents="请查看附件"
    yag.send(['***@163.com','***@163.com'],subject,contents,report)
    print("Email has sent out!")
if __name__ =="__main__":
    test_dir='./test_case'
    suit=unittest.defaultTestLoader.discover(test_dir,pattern='test_*.py')
    html_report='./test_report/'+'testreport.html'
    fp=open(html_report,'wb')
    runner=HTMLTestRunner(stream=fp,
                          title="测试报告",
                          description="运行环境:Windows11,Chrome浏览器"
                          )
    runner.run(suit)
    fp.close()
send_email(html_report)

打开附件,同样地用浏览器打开html格式,能够查看XTestRunner自动化测试报告已经生成。

小结

自动化测试报告是自动化测试流程的重要产出物,它不仅记录了测试执行结果,还为团队提供了关键的质量洞察和决策依据。

通过规范的自动化测试报告,团队能够将测试数据转化为可行动指南,最终提升我们的软件交付质量。

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

​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值