unittest单元测试(测试报告生成)
自动化测试执行完成之后,我们需要生成测试报告来查看测试结果,使用HTMLTestRunner模块可以直接生产Html格式的报告。
下载地址:
http://tungwaiyip.info/software/HTMLTestRunner.html
下载后的修改:
- 94行引入的名称要改,从 import StringIO 改成import io
- 539行 self.outputBuffer = StringIO.StringIO() 要改成self.outputBuffer=io.StringIO()
- 631行 print >>sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime)修改为:print (sys.stderr, '\nTime Elapsed: %s' %(self.stopTime-self.startTime))
- 642行,if not rmap.has_key(cls): 需要换成 if not cls in rmap:
- 766行的uo = o.decode('latin-1'),改成 uo=o
- 772行,把 ue = e.decode('latin-1') 直接改成 ue = e
注意:该修改针对的是使用Python3的朋友,如果你安装的是Python2,那么就不需要进行修改,直接使用即可。
存放路径:
将修改完成的模块存放在Python路径下Lib目录里面即可
案例:
在前一篇文章的runtest.py的基础上进行修改,从而得到关于百度搜索的测试报告
import unittest
from HTMLTestRunner import HTMLTestRunner
import time
test_dir = './test_case' discovery = unittest.defaultTestLoader.discover(test_dir, pattern='test*.py') if __name__ == '__main__':
# 存放报告的文件夹
report_dir = './test_report'
# 报告命名时间格式化
now = time.strftime("%Y-%m-%d %H_%M_%S")
# 报告文件完整路径
report_name = report_dir+'./'+now+"result.html" # 打开文件再报告文件写入测试结果
with open(report_name, "wb") as f:
runner = HTMLTestRunner(stream=f, title='百度搜索测试报告', description='用例执行结果:')
# 运行测试用例
runner.run(discovery)
# 关闭报告文件
f.close()
代码分析:
首先,将HTMLTestRunner模块用import导入进来
其次,通过open()方法以二进制写模式打开当前目录下的以'当前时间+result.html'(将报告名称以当前时间命名,可以便于我们查看),如果没有,则自动创建该文件
接着,调用HTMLTestRunner模块下的HTMLTestRunner类。stream指定测试报告文件,title用于定义测试报告的标题,description用于定义测试报告的副标题。
最后,通过HTMLTestRunner的run()方法来运行测试套件中所组装的测试用例。最后通过close()关闭测试报告文件。
测试报告:

美化测试报告
下载地址:
https://github.com/easonhan007/HTMLTestRunner
修改方式,存储路径参照上面
代码实现:
和上面一样,除了把HTMLTestRunner换成BSTestRunner
unittest单元测试(测试报告生成)的更多相关文章
- Python +selenium之集成测试报告与unittest单元测试
随着软件不断迭代,对应的功能也会越来越多,从而对应的测试用例也会呈指数增长.如果将全部的测试用例集成在一个文件中就会显得特别的臃肿而且维护成本也会很高. 一个很好的放大就是将这些测试yo你给里按照功能 ...
- Selenium(十八):unittest单元测试框架(四) HTML测试报告
1. HTML测试报告 对测试人员来而言,测试的产出很难衡量.换句话说,测试人员的价值比较难以量化和评估,相信这一点对软件测试人员来说深有体会.我们花费了很多时间与精力所做的自动化测试也是如此.所以, ...
- unittest测试框架生成可视化测试报告-BeautifulReport
生成报告的样式: 在说unittest之前,先说几个概念: TestCase 也就是测试用例 TestSuite 多个测试用例集合在一起,就是TestSuite TestLoader是用来加载Test ...
- 单元测试unittest及报告生成(两种报告模板)
Python中有一个自带的单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作. 在说unittest之前,先说几个概念: TestC ...
- Selenium+Python ---- 免登录、等待、unittest单元测试框架、PO模型
1.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去 ...
- python unittest单元测试
unittest单元测试框架:包含测试用例编写.测试收集\测试用例加载.执行测试用例.生成测试用例报告,同时,更提供了添加断言,异常处理等. 第一:创建测试类,创建测试用例 第二:收集测试用例,加载测 ...
- 四. 引入unittest单元测试框架
1. 安装 SeleniumIDE(firefox) (1)下载地址:https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/ (2 ...
- Selenium基于Python web自动化基础二 -- 免登录、等待及unittest单元测试框架
一.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去 ...
- Selenium(十七):unittest单元测试框架(三) 脚本分析、编写Web用例
1. 带unittest的脚本分析 也许你现在心里还有疑问,unittest框架与我们前面所编写的Web自动化测试之间有什么必然联系吗?当然有,既然unittest可以组织.运行测试用例,那么为什么不 ...
- unittest单元测试笔记
单元测试 unittest单元测试是基于java的JUnit思想框架开发出来的测试框架 import unittest import HTMLTestRunner class Mytest1(unit ...
随机推荐
- Android -Cannot run program "XXX/sdk/tools/emulator": error=2, No such file or directory
I have installed android SDK and eclipse successfully on ubuntu 14.04. However,now it's not running. ...
- po3580SuperMemo(splay)
链接 操作不少,不过都是一些基本的操作,增删,旋转,逆转,询问最小. 注意一点:T<0时 让t=0: 旋转的时候,是顺时针旋转,数据范围在int内. 刚开始旋转转错方向了.. #include ...
- javaoo面向对象
- 按位&按位|按位~的详解
十进制转二进制: 例:十进制(5)---->二进制(00000101) 将整数除二取余,继续用除二的结果除二取余,最后将结果从下往上连接起来,不足八位,前面填0 二进制转十进制 例:二进制(00 ...
- [问题解决]Deepin环境变量设置无效解决
将环境变量的设置放在这里: gedit ~/.bashrc 详见参考: linux下如何设置环境变量PATH : http://blog.csdn.net/witsmakemen/article/d ...
- Django中多表的增删改查操作及聚合查询、F、Q查询
一.创建表 创建四个表:书籍,出版社,作者,作者详细信息 四个表之间关系:书籍和作者多对多,作者和作者详细信息一对一,出版社和书籍一对多 创建一对一的关系:OneToOne("要绑定关系的表 ...
- Vue.js - Day5 - Webpack
在网页中会引用哪些常见的静态资源? JS .js .jsx .coffee .ts(TypeScript 类 C# 语言) CSS .css .less .sass .scss Images .jpg ...
- 解决在安装Fiddler4.6版本后,在手机上安装证书出现的问题解决方法
解决在安装Fiddler4.6版本后,在手机上安装证书出现的问题解决方法 设置fiddler抓手机包后,在手机上访问http://ip:port,出现如下问题: 问题:creation of the ...
- codevs 3026 恶心的扑克
时间限制: 1 s 空间限制: 64000 KB 题目等级 : 白银 Silver 题目描述 Description 有一副恶心的扑克,从小到大依次是3 , 4 , 5 , 6 , 7 , 8 , ...
- 【Codeforces #228】Solutions
http://codeforces.com/contest/389 重新把号刷到Div 1 准备ACM?(我这么菜还是玩玩算了……) 官方题解出的很快 Div2 A: 怎么做都行……随便找俩数减就可以 ...