Python3和HTMLTestRunner生成html测试报告

1、测试环境:Python3.5+unittest+HTMLTestRunner

2、下载HTMLTestRunner.py文件

  下载地址 http://tungwaiyip.info/software/HTMLTestRunner.html
  右键单击保存至本地,放在Python的安装目录Lib文件夹下(我本地放在本目录下:D:\setup\Python35\Lib)

3、由于下载的HTMLTestRunner.py文件是基于Python2的,若适用于Python3则进行如下修改:

  第94行,将import StringIO修改成import io
  第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer = io.StringIO()
  第642行,将if not rmap.has_key(cls):修改成if not cls in rmap:
  第766行,将uo = o.decode(‘latin-1‘)修改成uo = e
  第772行,将ue = e.decode(‘latin-1‘)修改成ue = e
  第631行,将print >> sys.stderr, ‘\nTime Elapsed: %s‘ % (self.stopTime-self.startTime)修改成print(sys.stderr, ‘\nTime Elapsed: %s‘ % (self.stopTime-self.startTime))

4、以下3个py文件利用unittest、HTMLTestRunner生成html测试报告

test.py 文件

 1 class Test():
 2     #初始化函数
 3     def __init__(self,a,b):
 4         self.a = a
 5         self.b = b
 6
 7     #两个数相加
 8     def add(self):
 9         x = self.a+self.b
10         return x
11
12     #两个数相减
13     def dele(self):
14         y = self.a-self.b
15         return y

add_dele.py文件

 1 #coding=utf-8
 2 from test import Test
 3 import unittest
 4
 5 class Test_test(unittest.TestCase):
 6     #下面三引号对类的注释会显示在报告的表格中
 7     ‘‘‘数字计算‘‘‘
 8     def test_shuzi(self):
 9         #下面三引号对方法的注释会显示在报告的表格中
10         ‘‘‘两个数字相加以及两个数字相减‘‘‘
11         # 对test文件中的Test类初始化
12         shuzi = Test(7, 3)
13         self.assertEqual(shuzi.add(),10)
14         self.assertEqual(shuzi.dele(),4)
15     def test_liangmethod(self):
16         ‘‘‘两数字相加的2倍 加上 两个数字相减的2倍‘‘‘
17         #对test文件中的Test类初始化
18         liangshuzi = Test(6,5)
19         t = liangshuzi.add()*2 + liangshuzi.dele()*2
20         self.assertEqual(t,24)

test_add_dele.py文件

 1 #coding=utf-8
 2 from HTMLTestRunner import HTMLTestRunner
 3 import unittest
 4 import add_dele
 5 import time
 6 import os
 7
 8 #构建测试集
 9 suit = unittest.TestSuite()
10 #测试集加入add_dele文件中被调用的方法。格式suit.addTest(文件名.类名("方法名"))
11 suit.addTest(add_dele.Test_test("test_shuzi"))
12 suit.addTest(add_dele.Test_test("test_liangmethod"))
13
14 #定义存放测试报告的路径及文件名
15 #我定义的路径是:当前路径+存放报告的专有目录Report+文件名(文件名是当前时间+report.html)
16 curent_dirc=os.path.dirname(os.path.realpath(__file__))
17 report_dirc = "\Report"
18 now = time.strftime("%Y%m%d-%H%M%S")
19 report_name = curent_dirc+report_dirc+"\\"+now+"report.html"
20 fp = open(report_name,"wb")
21 runner = HTMLTestRunner(stream=fp,
22                         title="测试一下报告生成",
23                         description="用两个数字的相加减来练习")
24 runner.run(suit)
25 fp.close()

5、文件及html报告架构:

6、生成的html报告样式:

原文地址:https://www.cnblogs.com/zhengyihan1216/p/11549820.html

时间: 2024-10-09 06:56:46

Python3和HTMLTestRunner生成html测试报告的相关文章

Python用HTMLTestRunner生成html测试报告

小编的主机:mac 一.引入HTMLTestRunner包 1.下载HTMLTestRunner.py,已上传到网盘,点击下载 2.将HTMLTestRunner.py复制到python安装目录的Lib文件夹下. 可能有的人不知道python安装地址的Lib文件夹在哪里.小编用的是mac,放的地址为:/资源库/Frameworks/Python.framework/Versions/3.6/lib/python3.6 因为看见里面有很多.py结尾的文件,常用到的os.py都在里面,放这里准没错.

Python3之HTMLTestRunner测试报告美化

前面我们讲到过在做自动化测试或单元测试的时候使用HTMLTestRunner来生成测试报告,并且由于Python2 和 Python3 对于HTMLTestRunner的支持稍微有点差异,所以我们将HTMLTestRunner进行了改造,从而适配Python3,详细改造步骤可以参考:HTMLTestRunner修改成Python3版本 但是改造后的HTMLTestRunner生成的测试报告不是特别的美观,所以我又对HTMLTestRunner进行了进一步的改造,主要是做一些美化. 美化之前的测试

selenium使用HTMLTestRunner生成测试报告

HTMLTestRunner下载地址: python2:http://tungwaiyip.info/software/HTMLTestRunner.html python3:https://pan.baidu.com/s/1dEZQ0pz 将下载好的HTMLTestRunner.py文件放到python安装目录的Lib文件夹中 #coding=utf-8 import unittest import HTMLTestRunner import time def creatsuite(): te

Selenium2 + Python3.6实战(五):生成HTML测试报告 Invalid argument

今天在学习自动化测试的高级应用,第一篇就是生成HTML测试报告,由于测试报告的名称没有进行设置,所以每次运行测试之前若没有手动修改之前的报告名称,运行时就会把原来的报告覆盖.这样做显然很麻烦,最好的解决办法就是在报告名称中加入当前时间,这样生成的报告既不会重叠,又能更清晰地知道报告生成的时间. 但是却在运行代码的过程中,出现了报错: Traceback (most recent call last):  File "D:/Python/selenium/test_baidu.py",

Appium python自动化测试系列之使用HTMLTestRunner生成测试报告(十三)

?13.1 测试报告概述 13.1.1 测试报告的定义 在前面章节我们已经讲了自动化基础的很多东西,如果说掌握了,而且自己动手去练习了,我相信在一些初级的面试中是没任何问题的,今天我们接触的应该算是一个比较新的东西,也算是开启另一层知识的大门. 在手工测试过程中如果发现了bug我们需要提交测试报告,自动化中虽然当程序出错的时候我们不可能让程序自动去提交bug(其实也可以,只是需要自己去开发模块,思路:当程序监听到错误的时候就触发一个提交bug的程序),但是为了体现工作的价值当自动化跑完之后是不是

Python+Selenium----使用HTMLTestRunner.py生成自动化测试报告2(使用PyCharm )

1.说明 在我前一篇文件(Python+Selenium----使用HTMLTestRunner.py生成自动化测试报告1(使用IDLE ))中简单的写明了,如何生产测试报告,但是使用IDLE很麻烦,而且在实际的项目中也不方便,所以,查了很多资料来研究如何在PyCharm中生成测试报告,故此记录一下(命名什么的不规范就不要纠结了). 2.步骤 第一步:下载HTMLTestRunner.py 参考:Python+Selenium----使用HTMLTestRunner.py生成自动化测试报告1(使

python3+unittest+HTMLTestRunner

参考博客1 参考博客2 python3版HTMLTestRunner.py见博客园'链接'(已经上传到博客园) import unittest class operatinon_unittest(unittest.TestCase): def setUp(self): print('每个用例之前执行setup') def tearDown(self): print('每个用例执行之后') def test_one(self): print('test_one函数') def test_two(s

unittest生成html测试报告

前言 最近一直在学习unittest,之前也有看到自动生成的测试报告:今天想着感觉着手实现以下吧: 我是小白,当然还是从最基础的开始: 今天的主角: HTMLTestRunner(HTMLTestRunner是python标准库unittest的一个扩展,用于生成易于使用的html测试报告) HTMLTestRunner下载安装      下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 操作(windows): 1:点击HTMLT

python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决

python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'的解决方法: 1.原因是官网的是python2语法写的,看官手动把官网的HTMLTestRunner.py改成python3的语法: 参考:http://bbs.chinaunix.net/thread-4154743-1-1.html 下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 修改后下载地址: