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 文件
class Test():
#初始化函数
def __init__(self,a,b):
self.a = a
self.b = b #两个数相加
def add(self):
x = self.a+self.b
return x #两个数相减
def dele(self):
y = self.a-self.b
return y
add_dele.py文件
#coding=utf-8
from test import Test
import unittest class Test_test(unittest.TestCase):
#下面三引号对类的注释会显示在报告的表格中
'''数字计算'''
def test_shuzi(self):
#下面三引号对方法的注释会显示在报告的表格中
'''两个数字相加以及两个数字相减'''
# 对test文件中的Test类初始化
shuzi = Test(7, 3)
self.assertEqual(shuzi.add(),10)
self.assertEqual(shuzi.dele(),4)
def test_liangmethod(self):
'''两数字相加的2倍 加上 两个数字相减的2倍'''
#对test文件中的Test类初始化
liangshuzi = Test(6,5)
t = liangshuzi.add()*2 + liangshuzi.dele()*2
self.assertEqual(t,24)
test_add_dele.py文件
#coding=utf-8
from HTMLTestRunner import HTMLTestRunner
import unittest
import add_dele
import time
import os #构建测试集
suit = unittest.TestSuite()
#测试集加入add_dele文件中被调用的方法。格式suit.addTest(文件名.类名("方法名"))
suit.addTest(add_dele.Test_test("test_shuzi"))
suit.addTest(add_dele.Test_test("test_liangmethod")) #定义存放测试报告的路径及文件名
#我定义的路径是:当前路径+存放报告的专有目录Report+文件名(文件名是当前时间+report.html)
curent_dirc=os.path.dirname(os.path.realpath(__file__))
report_dirc = "\Report"
now = time.strftime("%Y%m%d-%H%M%S")
report_name = curent_dirc+report_dirc+"\\"+now+"report.html"
fp = open(report_name,"wb")
runner = HTMLTestRunner(stream=fp,
title="测试一下报告生成",
description="用两个数字的相加减来练习")
runner.run(suit)
fp.close()
5、文件及html报告架构:

6、生成的html报告样式:

Python3和HTMLTestRunner生成html测试报告的更多相关文章
- Python&Selenium借助HTMLTestRunner生成自动化测试报告
一.摘要 本篇博文介绍Python和Selenium进行自动化测试时,借助著名的HTMLTestRunner生成自动化测试报告 HTMLTestRunner.py百度很多,版本也很多,自行搜索下载放到 ...
- Python&Selenium借助html-testRunner生成自动化测试报告
一.摘要 本博文将介绍Python和Selenium进行自动化测试时,借助html-testRunner 生成自动化测试报告 安装命令:pip install html-testRunner 二.测试 ...
- Python用HTMLTestRunner生成html测试报告
小编的主机:mac 一.引入HTMLTestRunner包 1.下载HTMLTestRunner.py,已上传到网盘,点击下载 2.将HTMLTestRunner.py复制到python安装目录的Li ...
- python接口自动化之用HTMLTestRunner生成html测试报告
[第一步]:引入HTMLTestRunner包 1.下载HTMLTestRunner,下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html ...
- python3使用HTMLTestRunner生成测试报告
自动化测试运行完了需要直观的了解测试结果,需要用到第三方的模块HTMLTestRunner. 一:下载 HTMLTestRunner 下载路径:https://pypi.python.org/pypi ...
- Python3+HTMLTestRunner生成html测试报告时报错HTMLTestRunner.py line 687, in generateReport self.stream.write(output.encode('utf8'))
1.测试环境及场景: Python3.5+unittest+HTMLTestRunner 生成html报告时候报错 2.报错内容: ..Traceback (most recent call last ...
- Mac上实现Python用HTMLTestRunner生成html测试报告
一.导入HTMLTestRunnerNew文件 首先,我们要知道如果要利用HTMLTestRunnerNew生成测试报告的话,就需要对其进行导入: HTMLTestRunnerNew下载地址:链接:h ...
- HTMLTestRunner生成html测试报告
使用:把文件放到项目某个文件夹中,引入方式如下 import unittest import env import vendor.report.HTMLTestRunnerNew as HTMLTes ...
- Pycharm使用python3无法通过HTMLTestRunner生成测试报告《转载》
Pycharm使用python3无法通过HTMLTestRunner生成测试报告: https://blog.csdn.net/weixin_38981172/article/details/8238 ...
随机推荐
- Codeforces Round #605 (Div. 3) 题解
Three Friends Snow Walking Robot Yet Another Broken Keyboard Remove One Element Nearest Opposite Par ...
- docker--发布docker镜像
前戏 前面我们自己做了个docker镜像,我们可以上传到docker hub,别人就可以下载使用了 发布到docker hub 我们前面使用docker search 查找的镜像都是从docker h ...
- [NOI2019]回家路线(最短路,斜率优化)
终于把这鬼玩意弄完了-- 为什么写的这么丑-- (顺便吐槽 routesea) 最短路的状态很显然:\(f[i]\) 表示从第 \(i\) 条线下来的最小代价. 首先明显要把那个式子拆开.直觉告诉我们 ...
- linux-根目录添加内存
01,添加磁盘到服务器 02, 查看添加的内容 这个是新添加的 03, 创建新分区 [root@oracle01 ~]# fdisk /dev/sdb --格式化分析 Welcome ). Chang ...
- [转载]3.11 UiPath存在文本Text Exists的介绍和使用
一.Text Exists的介绍 检查是否在给定的UI元素中找到了文本,输出的是一个布尔值 二.Text Exists在UiPath中的使用 1.打开设计器,在设计库中新建一个Sequence,为序列 ...
- SpringBoot第十篇:thymeleaf详解
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/10931435.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言 Sprin ...
- json data转匿名对象C#
using Newtonsoft.Json.Linq; 代码如下: static void Main(string[] args) { Console.WriteLine("Test 4.8 ...
- zookeeper编译环境搭建
当前我使用的jdk环境是1.8 当看到build successful的时候 说明已经构建成功,在这个期间会下载一些工具,发现下载很慢,比如ivy-2.4.0.jar包,如果下载不下来,可以进行手工下 ...
- Oracle学习笔记(六)
Oralce行定位与rowid: drop table t purge; create table t as select * from dba_objects; create index idx_o ...
- JAVA设计模式工厂模式
工厂模式: – 实现了创建者和调用者的分离. – 详细分类: • 简单工厂模式 • 工厂方法模式 • 抽象工厂模式• 面向对象设计的基本原则: – OCP(开闭原则,Open-Closed Princ ...