分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

如何生成HTMLTestRunner报告

发布时间:2023-09-06 01:36责任编辑:沈小雨关键词:HTML

今天,学习了如何生成HTMLTestRunner测试报告。 

用unittest框架做app自动化测试,运行后,测试结果不便于查看,同时多个case存在的时候,可能会导致case result记录不正确的情况。 
为此,引入了HTMLTestRunner.py,它是Python标准库unittest模块的一个扩展,它可以生成直观的HTML测试报告。


首先,下载HTMLTestRuner.py文件。 
源地址:http://tungwaiyip.info/software/HTMLTestRunner.html 
HTMLTestRunner.py是针对Python2.7版本,对于Python3.x的使用,需要改动几处。 
具体改动如下: 

第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, ‘\nTimeElapsed: %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 第778行,将output = saxutils.escape(uo+ue),修改成output = saxutils.escape(str(uo)+str(ue)),

另外注意:编写脚本打开文件的时候,fp=file(filename,”wb”)在Python3.x中file已经不再使用了,需要使用的是fp=open(filename,”wb”) ;同时一定要记得close fp即fp.close() 

将上述几处地方改动,保存成功后,将HTMLTestRunner.py放到Python安装目录下的Lib目录中。

检验是否加载成功,在Python IDLE 中输入 :

import HTMLTestRunner ,回车

若无报错,那么加载成功。


测试脚本:

if __name__ == "__main__":# ???casesuit() ???#所有的用例集合 ???all_test_cases = casesuit() ???#获取系统当前时间 ???now = time.strftime(‘%Y-%m-%d-%H_%M_%S‘, time.localtime(time.time())) ???day = time.strftime(‘%Y-%m-%d‘, time.localtime(time.time())) ???#定义单个测试报告的存放路径,支持相对路径 ???tdresult = result + day ???#若已经存在以当天日期为名称的文件夹的情况,则直接将测试报告放到这个文件夹之下 ???if os.path.exists(tdresult): ???????filename = tdresult + "\\" + now + "_result.html" ???????#以写文本文件或写二进制文件的模式打开测试报告文件 ???????fp = open(filename, ‘wb‘) ???????#定义测试报告 ???????runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=‘MultiCalculator Auto Test Report‘, description=u‘Result‘) ???????#运行测试用例 ???????runner.run(all_test_cases) ???????#关闭报告文件 ???????fp.close() ???else: ???????#不存在以当天日期为名称的文件夹的情况,则建立一个以当天日期为名称的文件夹 ???????os.mkdir(tdresult) ???????#以写文本文件或写二进制文件的模式打开测试报告文件 ???????filename = tdresult + "\\" + now + "_result.html" ???????fp = open(filename, ‘wb‘) ???????#定义测试报告 ???????runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=‘MultiCalculator Auto Test Report‘, description=u‘Result‘) ???????#运行测试用例 ???????runner.run(all_test_cases) ???????#关闭报告文件 ???????fp.close()

执行测试脚本,就这样得到一个report 

在Python3.6中,可以得到:

在result目录下,有文件

打开后,如图所示,这样看测试结果明显更直观: 

如何生成HTMLTestRunner报告

原文地址:https://www.cnblogs.com/mgzc-1508873480/p/8289211.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved