unittest测试框架详谈及实操(五)
测试报告——生成HTML格式的测试报告
前面的实例输出的所有测试结果都是以命令行日志的方式展示,不止于难看,但也不适合直接把那样的测试结果截图发给相关人员,尤其是领导。这时需要更加友好的测试结果,既能够查看测试结果的概况,又能深入查看报告细节。虽然unittest目前没有相应的内置模块可以生成格式友好的报告,但是我可以应用unittest的扩展库HTMLTestRunner来实现。
如果想获取更多关于HTMLTestRunner的信息,可以参考;
https://pypi.org/project/HTMLTestRunner
下面将修改前面涉及的测试套件并添加HTMLTestRunner支持。主要需要创建一个包含实际测试报告的输出文件,并配置HTMLTestRunner选择。代码如下:
import unittest
import HTMLTestRunner
from searchtests import BaiduSearchTest
from homepagetests import BaiduHomePageTest #get the directory path to report file
dir = './' #current script directory search_tests = unittest.TestLoader().loadTestsFromTestCase(BaiduSearchTest)
home_page_tests = unittest.TestLoader().loadTestsFromTestCase(BaiduHomePageTest) test_suite = unittest.TestSuite([home_page_tests, search_tests]) #open the report file
report_file = open(dir + "BaiduTestReport.html", "wb") #configure HTMLTestRunner options
runner = HTMLTestRunner.HTMLTestRunner(stream = report_file,
title = 'Test Report',
description = 'Test Suite',
verbosity=2) #run test suite using HTMLTestRunner
runner.run(test_suite)
执行该测试套件,HTMLTestRunner像unittest一样运行所有的测试。最后生成测试报告文件,如下图所示:

更多关于HTMLTestRunner信息可以参考:https://pypi.org/project/HTMLTestRunner/
unittest测试框架详谈及实操(五)的更多相关文章
- Selenium之unittest测试框架详谈及实操
申明:本文是基于python3.x及selenium3.x. unittest,也可以称为PyUnit,可以用来创建全面的测试套件,可以用于单元自动化测试(模块).功能自动化测试(UI)等等. 官方文 ...
- unittest测试框架详谈及实操(二)
类级别的setUp()方法与tearDown()方法 在实操(一)的例子中,通过setUp()方法为每个测试方法都创建了一个Chrome实例,并且在每个测试方法执行结束后要关闭实例.是不是觉得有个多余 ...
- unittest测试框架详谈及实操(四)
测试套件 应用unittest的Test Suite特性,可以将不同的测试组成一个逻辑组,然后设置统一的测试套来一起执行测试.通过TestSuite.TestLoader类来创建测试套件,最后用Tes ...
- unittest测试框架详谈及实操(三)
断言 unittest的TestCase类提供了很多实用的方法来校验预期结果和程序返回的实际结果是否一致.当然这些方法要求必须满足某些条件才能继续执行接下的测试.大致有3种这样的方法.各覆盖一个特定类 ...
- Linux基础实操五
实操一:nginx服务 二进制安装nginx包1) 1)#yum clean all 2)#yum install epel-release -y 3)#yum install nginx -y 1) ...
- python利用unittest测试框架组织测试用例的5种方法
利用unittest测试框架可以编写测试用例,执行方式分两大类:利用main方法和利用testsuite,其中利用测试套件来组织测试用例可以有4种写法. 在此之前,先了解几个概念 TestCase:所 ...
- Python 下的unittest测试框架
unittest测试框架,直接上图吧: data:数据:主要格式为CSV:读取方式:csv.reade: public:封装的模块:通用的模块单独封装,所需参数设置为变量: testcase:测试用例 ...
- Python接口测试实战3(下)- unittest测试框架
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- <day002>Selenium基本操作+unittest测试框架
任务1:Selenium基本操作 from selenium import webdriver # 通用选择 from selenium.webdriver.common.by import By # ...
随机推荐
- nginx代理socket tcp/udp
准备一台linux服务器.nginx官网:http://nginx.org/ .在网上搜到大致用的是 ngx_stream_core_module 这个模块,这里你也可以关注一下官方文档中的其他模块都 ...
- C投票系统
- Docker命令大全
1.容器生命周期管理 run 创建一个新的容器并运行一个命令 语法 docker run [OPTIONS] IMAGE [COMMAND] [ARG...] OPTIONS说明: -a stdin ...
- Octave中调用hist出现broken pipe some output may be lost octave的解决(Mac)
参考:http://octave.1599824.n4.nabble.com/Mac-OS-X-Mountain-Lion-Octave-can-not-execute-sombrero-td4643 ...
- vue-cli 自定义过滤器的使用
vue-cli 自定义过滤器的使用 vue2.0将内置过滤器去除,所以过滤器需要自己编写. Vue.js 允许你自定义过滤器,可被用作一些常见的文本格式化.过滤器可以用在两个地方:mustache 插 ...
- CSS——操作css文件
//动态 css文件内容. 修改鼠标经过时行.单元格的背景颜色 function header_rowOrcell_over(divGrid) { var gridopts = divGrid.dat ...
- oracle按照时间过滤
select * from uc.uc_customer a where to_char(a.create_date,'YYYY-MM-DD')>'2017-07-21'
- Java 循环遍历删除set list中的元素
删除List和Set中的某些元素 错误代码的写法: Set<String> set = new HashSet<String>(); set.add("aaaaaa& ...
- cmder 设置
添加到系统变量 windows10可直接使用小娜搜索环境变量,然后将Cmder.exe所在目录加入Path项即可.之后通过win+r输入cmder即可启动 添加到右键菜单 在管理员权限的命令窗口下(可 ...
- bugfree调试
最近项目用到bugfree ,一直不能用,原来是session目录的文件权限有问题.