前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用HTMLTestRunner实现HTML测试报告

使用HTMLTestRunner实现HTML测试报告

作者头像
吾非同
发布2020-10-13 19:56:05
1.8K0
发布2020-10-13 19:56:05
举报
文章被收录于专栏:吾非同吾非同

自动化测试的最重要一环就是生成报告,尤其在敏捷化的团队中,团队成员根据自动化的测试报告,量化和分析测试结果,评估测试质量,调整测试策略。

使用Python标准库unittest单元测试框架的一个扩展文件来生成HTML文件:HTMLTestRunner。

下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html

适配python3需修改如下几行代码,修改完成如附件所示:

代码语言:javascript
复制
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文件保存到:PythonXX\Lib目录下。

在Python交互模式下引入HTMLTestRunner模块,如系统没有报错,则说明添加成功。

实现过程

1、将HTMLTestRunner模块用import导入进来。

2、通过open()方法以二进制写模式('wb')打开当前目录下的result.html,如果没有,则自动创建。

代码语言:javascript
复制
fp = open('./result.html','wb')

3、调用HTMLTestRunner模块下的HTMLTestRunner类。

  • stream 指定测试报告文件
  • title 定义测试报告的标题
  • description 定义测试报告的副标题
代码语言:javascript
复制
runner = HTMLTestRunner(stream=fp,title='百度搜索测试报告',description='用例执行情况:')

4、通过HTMLTestRunner的run()方法来运行测试套件中的测试用例关闭测试报告文件close()。

实现代码

代码语言:javascript
复制
# 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报告,直接打开即可。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 吾非同 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 适配python3需修改如下几行代码,修改完成如附件所示:
  • 实现过程
  • 实现代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档