python生成HTMl报告(unittest)
Python3 使用HTMLTestRunner.py 报错ImportError: No module named 'StringIO'处理方法
HTMLTestRunner.py文件是基于Python2的语法,python3使用需要修改语法:
1.>>> 94行
import io # import StringIO
2.>>> 539行
self.outputBuffer = io.StringIO()
3.>>> 631行
print(sys.stderr,'\nTime Elapsed: %s' % (self.stopTime-self.startTime))# print >>sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime)
4.>>> 642行
if not cls in rmap:# if not rmap.has_key(cls):
5.>>> 766行
uo = e # uo = o.decode('latin-1')
6.>>> 772行
ue = e # ue = e.decode('latin-1')
改完后的HTMLTestRunner.py
python htmltestrunner.py下载好后放置位置
文件下载不用修改的:
链接:https://pan.baidu.com/s/1orJSihL8U_trJgiOvFaiXQ
提取码:6jxe
复制这段内容后打开百度网盘手机App,操作更方便哦
放在*\python3\script
或者放在当前项目文件夹下
亦或者在python35下的lib文件夹下
(注意最好放在根目录下)
from HTMLTestRunner import HTMLTestRunner #用这个导包会报错的时候就用下面这样的放到根目录下
from pyJIAO.APP.APP.HTMLTestRunner import HTMLTestRunner #用这个导包就不会报错了
python生成HTML报告代码:
#unittest测试框架
#pytest比unittest全面一点
#导包
import requests#导入接口用的包
import unittest
# from HTMLTestRunner import HTMLTestRunner
# .HTMLTestRunner import HTMLTestRunner
from pyJIAO.APP.APP.HTMLTestRunner import HTMLTestRunner import time class Test(unittest.TestCase):
# 用于测试用例执行前的初始化工作
def setUp(self):
print("test start") def test_bbb(self):
# print("test bbb")
url = "http://v.juhe.cn/cccn/to_telecodes.php"
para = {"chars": "北京", "key": "230a1fd1db939079697552e645799c0c"}
# 发送get请求
r = requests.get(url, params=para) # 获取json数据
print(r.json())
#
# def test_aaa(self):
# print("test aaa")
# # 用于测试用例执行之后的善后工作
def tearDown(self):
print("test end") if __name__ == '__main__':
suite = unittest.TestSuite()
suite.addTest(Test("test_bbb"))
# suite.addTest(Test("test_aaa"))
now = time.strftime("%Y-%m-%d %H_%M_%S")
# 定义报告存放路径
filename = 'E:\\' + now + 'result.html'
# filename ='test3.html'#报告存放在当前目录
print(filename)
fp = open(filename, 'wb')
# 定义测试报告
runner = HTMLTestRunner(stream=fp, title='测试报告', description='用例执行情况:')
runner.run(suite)
fp.close() # 关闭报告文件
python生成HTMl报告(unittest)的更多相关文章
- python 生成HTmL报告页面 V1.3 修改字体颜色
HTML报告V1.3 根据文字内容显示不同的字体颜色: 代码如下: # -*- coding=utf-8 -*- import time,os """ V1.2 1.生成 ...
- python 生成HTmL报告页面 V1.2
上代码 # -*- coding=utf-8 -*- import time,os #数据部分 func_dict={"funcname":"模块1",} fu ...
- python 生成HTmL报告页面
计划做一个html页面 py3.4 代码: # -*- coding=utf-8 -*- # import time,os class Template_mixin(object): "&q ...
- python生成pdf报告、python实现html转换为pdf报告
1.先说下html转换为pdf:其实支持直接生成,有三个函数pdfkit.f 安装python包:pip Install pdfkit 系统安装wkhtmltopdf:参考 https://githu ...
- python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告
1.环境准备: python3.6 requests xlrd openpyxl HTMLTestRunner_api 2.目前实现的功能: 封装requests请求方法 在excel填写接口请求参数 ...
- python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告(二)
可以参考 python+requests接口自动化完整项目设计源码(一)https://www.cnblogs.com/111testing/p/9612671.html 原文地址https://ww ...
- python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告(已弃用)
前言 1.环境准备: python3.6 requests xlrd openpyxl HTMLTestRunner_api 2.目前实现的功能: 封装requests请求方法 在excel填写接口请 ...
- python笔记32-ddt框架优化(生成html报告注释内容传变量)
前言 至于什么是ddt这个可以参考我之前写的博客内容,使用ddt框架的时候,有个问题困扰我很久了,一直没得到解决(也有很大小伙伴问过我,没解决抱歉了!) 这个问题就是:如何使用ddt框架时,生成的ht ...
- Python不生成HTMLTestRunner报告-转载学习
1.问题:Python中同一个.py文件中同时用unittest框架和HtmlReport框架后,HtmlReport不被执行. 2.为什么?其实不是HtmlReport不被执行,也不是HtmlRep ...
随机推荐
- python twisted异步将数据导入到数据库中
from twisted.enterprise import adbapi from twisted.internet import reactor def creat_conn(): # 数据库基本 ...
- 2019了,给自己立一个flag吧
新年伊始,元旦已过,虽然有迟了,但是,相对于整年来说,还是比较早.年度总结,年度规划,除过上交的报告以外,还得自己给自己立个flag,一次来督促自己,而不是为了别的.做这些事,不仅仅是为了能更好的工作 ...
- CSS3------box-shadow,即单边阴影效果设置
box-shadow修改元素的阴影效果要方便得多,因为box-shadow可以修改六个参数,得到不同的效果.下面结合一些简单的案例来对box-shadow属性进行演示说明. 1.单边阴影效果 定义元素 ...
- javascript 跳出循环比较
for continue 跳出当前循环,继续下一个循环 break 结束循环 forEach 不能使用continue , break return/return false 跳出当前循环,在forE ...
- ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
今天执行mysql操作的时候出现了错误:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run ...
- ecshop 实现“精品、新品、热销”板块出现选项卡效果的方法
最近做一个网络商城,直接使用ecshop的免费模板,懒得重新做,ecshop建站多日了,一直想在主页的板块中建网页选项卡鼠标经过自动切换效果,百度搜索这方面的内容也没找到合适的,今天一实验,成功了,所 ...
- Vue Router:使用 props 将组件和路由解耦
在组件中使用 $route 会使之与其对应路由形成高度耦合,从而使组件只能在某些特定的 URL 上使用,限制了其灵活性. 可以使用 props 将组件和路由解耦. 一 路由配置(布尔模式): impo ...
- Model Inversion Attack Paper Indexpage
Paper [1]: White-box neural network attack, adversaries have full access to the model. Using Gradien ...
- 20190928 On Java8 第二十三章 注解
第二十三章 注解 定义在 java.lang 包中的5种标准注解: @Override:表示当前的方法定义将覆盖基类的方法.如果你不小心拼写错误,或者方法签名被错误拼写的时候,编译器就会发出错误提示. ...
- solr 安装与配置
1. Solr安装与配置 1.1什么是Solr 大多数搜索引擎应用都必须具有某种搜索功能,问题是搜索功能往往是巨大的资源消耗并且它们由于沉重的数据库加载而拖垮你的应用的性能. 这就是为什么转移负载到一 ...