使用HTMLTestRunner实现HTML测试报告
时间:2022-07-26
本文章向大家介绍使用HTMLTestRunner实现HTML测试报告,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
自动化测试的最重要一环就是生成报告,尤其在敏捷化的团队中,团队成员根据自动化的测试报告,量化和分析测试结果,评估测试质量,调整测试策略。
使用Python标准库unittest单元测试框架的一个扩展文件来生成HTML文件:HTMLTestRunner。
下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html
适配python3需修改如下几行代码,修改完成如附件所示:
94行, import StringIO539行,self.outputBuffer = StringIO.StringIO()
631行,print >>sys.stderr, 'nTime Elapsed: %s' % (self.stopTime-self.startTime)
642行,if not rmap.has_key(cls):766行,uo = o.decode('latin-1')
772行,ue = e.decode('latin-1')
windows中将HTMLTestRunner文件保存到:PythonXXLib目录下。
在Python交互模式下引入HTMLTestRunner模块,如系统没有报错,则说明添加成功。
实现过程
1、将HTMLTestRunner模块用import导入进来。
2、通过open()方法以二进制写模式('wb')打开当前目录下的result.html,如果没有,则自动创建。
fp = open('./result.html','wb')
3、调用HTMLTestRunner模块下的HTMLTestRunner类。
- stream 指定测试报告文件
- title 定义测试报告的标题
- description 定义测试报告的副标题
runner = HTMLTestRunner(stream=fp,title='百度搜索测试报告',description='用例执行情况:')
4、通过HTMLTestRunner的run()方法来运行测试套件中的测试用例关闭测试报告文件close()。
实现代码
# coding=utf-8
import time,os,unittest
from HTMLTestRunner import HTMLTestRunne
class TestRunner(object):
''' Run test '''
def __init__(self, cases="./",title=u'自动化测试报告',description=u'环境:windows 7'):
self.cases = cases
self.title = title
self.des = description
def run(self):
for filename in os.listdir(self.cases):
if filename == "report":
break
else:
os.mkdir(self.cases+'/report')
now = time.strftime("%Y-%m-%d_%H_%M_%S")
fp = open("./report/"+ now +"result.html", 'wb')
tests = unittest.defaultTestLoader.discover("./test_case",pattern='*sta.py',top_level_dir=None)
runner = HTMLTestRunner(stream=fp, title=self.title, description=self.des)
runner.run(tests)
fp.close()
def debug(self):
tests = unittest.defaultTestLoader.discover(self.cases, pattern='*sta.py', top_level_dir=None)
runner = unittest.TextTestRunner()
runner.run(tests)
if __name__ == '__main__':
test = TestRunner()
test.run()
在指定路径找到生成的html报告,直接打开即可。
- HTML 教程
- HTML 简介
- html div 标签介绍
- html span 标签介绍
- html a 超链接标签
- HTML Br换行标签介绍
- HTML P段落标签介绍
- HTML br与p标签区别
- Html H 标题标签
- html px em pt长度单位
- HTML form 标签
- HTML radio 单选框
- HTML B 加粗标签
- HTML strong加粗粗体标签
- HTML em 强调标签
- HTML i 斜体标签
- HTML u下划线标签
- HTML s 删除线标签
- Html img 图片标签
- Html上标注sup与下标注sub标签
- HTML nobr 禁止换行标签
- HTML hr 水平线标签
- HTML label 标签
- HTML input 标签
- HTML textarea 标签
- HTML select下拉列表标签
- HTML checkbox 多选框
- HTML font color 标签
- HTML iframe 框架标签
- HTML Table 表格
- HTML dl dt dd 标签
- HTML ol li有序列表标签
- HTML ul li 无序列表标签
- HTML 注释
- CSS 教程
- CSS 简介
- CSS 语法
- CSS Id 和 Class选择器
- CSS 样式的创建
- CSS background 背景介绍
- CSS 文本样式
- CSS font 字体
- CSS A 链接
- CSS ul ol列表样式
- CSS TABLE 样式
- CSS 框模型
- CSS border 边框
- CSS Outlines 轮廓
- CSS 外边距 Margin
- CSS Padding 内边距
- CSS 分组和嵌套选择器
- CSS 尺寸 (Dimension)
- CSS Display 属性
- CSS Position 定位
- CSS Float 浮动
- CSS 水平对齐(Horizontal Align)
- CSS 组合选择符
- CSS 伪类
- CSS 伪元素
- CSS 导航栏
- CSS 下拉菜单
- CSS 图片廊
- CSS 图像透明/不透明
- CSS sprite 图像拼合技术
- CSS 媒体类型
- CSS 属性选择器
- CSS 实例
- 【Mybatis-1】MyBatis注解版详解
- 【MyBatis-2】MyBatis之xml 配置版
- 【MyBatis-3】MyBatis xml映射文件详解
- 【剑指Offer】II-数组中数字出现的次数 II
- 【MyBatis-4】MyBatis之动态SQL
- 【MyBatis-4】MyBatis批量insert、update、delete数据
- 【redis6.0.6】深入源码,一探究竟 -- redis服务器开机自启动
- 不是你记忆中的单例模式,但适用的程度,更胜一筹
- 安卓模拟器修改hosts文件
- 为容器化的 Postgres 数据库启用 ssl 连接
- 【SpringBoot web-1】web项目数据校验
- 【SpringBoot web-2】web项目参数传递
- 筛法求素数
- redis学习(十三)
- 【SpringBoot web-3】web项目统一数据封装与全局异常处理