用例执行完成后,执行结果默认是输出在屏幕上,其实我们可以把结果输出到一个文件中,形成测试报告。

unittest自带的测试报告是文本形式的,如下代码:

import unittest

if __name__ == '__main__':
# 识别指定目录下所有以test开头的文件以及文件中的用例,并将用例自动添加到测试套中
test_cases_dir = "./test_cases/"
suite = unittest.defaultTestLoader.discover(test_cases_dir) with open("./report.txt", "w") as report:
# 生成执行器
runner = unittest.TextTestRunner(stream=report, verbosity=2)
# 执行用例
runner.run(suite)

生成的报告如下

这种测试报告不能直观地展示用例执行情况,我们可以引入第三方模块展示一份详细的测试报告

常用的第三方模块有

  • BeautifulReport
  • HTMLTestRunner

BeautifulReport

使用pip安装BeautifulReport模块

pip install BeautifulReport

代码如下

import unittest
from BeautifulReport import BeautifulReport if __name__ == '__main__':
# 识别指定目录下所有以test开头的文件以及文件中的用例,并将用例自动添加到测试套中
test_cases_dir = "./test_cases/"
suite = unittest.defaultTestLoader.discover(test_cases_dir) # 执行用例并生成报告
runner = BeautifulReport(suite)
runner.report(
description="全量用例", # 用例描述
filename="report", # 报告文件名称
report_dir="./" # 报告存放路径
) # 拓展:下面这行代码写不写都不影响报告生成,如果想自己写个报告界面,可以利用下面的用例执行结果
# 获取用例执行结果,注意,只有在执行了report方法后才会有执行结果。
ret = runner.fields
print(ret)

执行结果如下

报告界面如下

HTMLTestRunner

使用pip安装HTMLTestRunner模块

pip install HTMLTestRunner

代码如下

import unittest
from HTMLTestRunner import HTMLTestRunner if __name__ == '__main__':
# 识别指定目录下所有以test开头的文件以及文件中的用例,并将用例自动添加到测试套中
test_cases_dir = "./test_cases/"
suite = unittest.defaultTestLoader.discover(test_cases_dir) with open("./report.html", "w", encoding="utf-8") as report:
runner = HTMLTestRunner.HTMLTestRunner(
stream=report,
title='自动化测试报告',
description='执行全量用例'
)
runner.run(suite)

执行结果如下

报告界面如下

unittest_测试报告(6)的更多相关文章

  1. Selenium:HTML测试报告

    自动化测试过程中,获得用例的执行结果后,需要有具象化.简洁明了的测试结果,比如:用例执行时间.失败用例数.失败的原因等,这时候,就需要用到测试报告. HTML测试报告是python语言自带的单元测试框 ...

  2. Selenium:集成测试报告

    参考内容:虫师:<selenium2自动化测试实战——基于python语言> PS:书中的代码,只能做参考,最好还是自己码一码,不一定照搬就全是对的,实践出真知啊,踩了很多坑的说... 随 ...

  3. 关于python-生成HTMLTestRunner测试报告

    一.HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展,它可以生成 HTML的 测试报告. 1.首先要下 HTMLTestRunner.py 文件,将下载的文件 ...

  4. Python +selenium之集成测试报告与unittest单元测试

    随着软件不断迭代,对应的功能也会越来越多,从而对应的测试用例也会呈指数增长.如果将全部的测试用例集成在一个文件中就会显得特别的臃肿而且维护成本也会很高. 一个很好的放大就是将这些测试yo你给里按照功能 ...

  5. Selenium 2自动化测试实战35(HTML测试报告)

    HTML测试报告 显然,一份漂亮的测试报告展示自动化测试成果只有一个简单的log文件是不够的.HTMLTestRunner是python标准库unittest单元测试框架的一个扩展,它生成易于使用的H ...

  6. HTMLTestRunner生成html测试报告

    使用:把文件放到项目某个文件夹中,引入方式如下 import unittest import env import vendor.report.HTMLTestRunnerNew as HTMLTes ...

  7. Python+Selenium学习笔记17 - HTML测试报告

    运行少量case时 1 # coding = utf-8 2 3 from selenium import webdriver 4 import unittest 5 import time 6 fr ...

  8. [原]一个针对LVS的压力测试报告

    LVS 测试报告 测试计划 基本功能测试 流量压力测试 响应时间测试 配置正确性测试 灾难恢复测试 测试点 基本功能测试 客户端IP地址正确性 RealServer 访问Internet测试(包括Ip ...

  9. python+selenium生成测试报告后自动发送邮件

    标签(空格分隔): 自动化测试 运行自动化脚本后,会产生测试报告,而将测试报告自动发送给相关人员,能够让对方及时的了解测试情况,查看测试结果. 整个脚本包括三个部分: 生成测试报告 获取最新的测试报告 ...

随机推荐

  1. css clip样式 属性功能及作用

    clip clip 在学前端的小伙伴前,估计是很少用到的,代码中也是很少看见的,但是,样式中有这样的代码,下面让我们来讲讲他吧! 这个我也做了很久的开发没碰到过这个属性,知道我在一个项目中,有一个功能 ...

  2. 【Java多线程】Java 原子操作类API(以AtomicInteger为例)

    1.java.util.concurrent.atomic 的包里有AtomicBoolean, AtomicInteger,AtomicLong,AtomicLongArray, AtomicRef ...

  3. Spring Boot,Spring Cloud,Spring Cloud Alibaba 版本选择说明以及整理归纳

    前言 本文的核心目的: 1.方便自己以后的查找,预览,参考 2.帮助那些不知道如何选择版本的朋友进行指引,而不是一味的跟风网上的版本,照抄. Spring Boot 版本 版本查询: https:// ...

  4. Linux的命令行基础

    1.对于全局配置文件和用户配置文件的认识 全局配置都存储在etc目录下,如/etc/profile文件,/etc/bashrc文件以及/etc/profile.d/目录下的.sh文件 用户配置都存储在 ...

  5. C++STL标准库学习笔记(四)multiset续

    自定义排序规则的multiset用法 前言: 在这个笔记中,我把大多数代码都加了注释,我的一些想法和注解用蓝色字体标记了出来,重点和需要关注的地方用红色字体标记了出来,只不过这一次的笔记主要是我的补充 ...

  6. java多线程6:ReentrantLock

    下面看下JUC包下的一大并发神器ReentrantLock,是一个可重入的互斥锁,具有比synchronized更为强大的功能. ReentrantLock基本用法 先来看一下ReentrantLoc ...

  7. 通过Docker部署Java项目的日志输出到宿主机指定目录

    之前写过2篇关于Docker部署的文章: 1.超!超!超简单,Linux安装Docker 2.Docker通过阿里云镜像仓库使用Gitlab_CI部署SpringBoot项目 用上篇博客部署Java程 ...

  8. 任务关联的类型(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 任务关联的类型,一共是四种,FS.SS.SF.FF. 就这些! -- 好吧,我又调皮了,怎么着也该解释一下吧? 嗯!F就是 ...

  9. Go语言核心36讲(Go语言实战与应用二十六)--学习笔记

    48 | 程序性能分析基础(上) 作为拾遗的部分,今天我们来讲讲与 Go 程序性能分析有关的基础知识. Go 语言为程序开发者们提供了丰富的性能分析 API,和非常好用的标准工具.这些 API 主要存 ...

  10. WebRTC + WebSocket 实现视频通话

    前言 WebRTC WebRTC(Web Real-Time Communication).Real-Time Communication,实时通讯. WebRTC能让web应用和站点之间选择性地分享 ...