Python接口自动化-8-测试报告
HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展。它生成易于使用的 HTML 测试报告
报告模板下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html
环境配置:
Windows:
将下载的文件放入python安装目录Lib 目录下 :如:D:Python34Lib
Linux:
通过 sys.path 可以查看本机 python 文件目录,以管理员身份将 HTMLTestRunner.py 文件拷贝到Python安装目录/site-packages/ 目录下
导入HTMLTestRunner模块
if __name__ == '__main__':中增加:
运行整个py文件
生成测试报告
示例代码:
# -*- coding:utf-8 -*-
importrequests
importunittest
importtime
importHTMLTestRunner
classTest(unittest.TestCase):
defsetUp(self):
self.url ="http://httpbin.org/post"
self.payload = {'key1':'value1','key2':'value2'}
print('----开始执行用例------')
deftearDown(self):
print('----用例执行结束------')
deftest_case(self):
r = requests.post(self.url,data=self.payload)
t = r.json()
self.assertEqual(t['url'],'http://httpbin.org/post')#判断返回的数据中url是否准确
deftest_case2(self):
r = requests.post(self.url,data=self.payload)
self.assertEqual(r.status_code,201)#判断返回的状态码是200
if__name__ =='__main__':
# unittest.main(verbosity=2)
suite = unittest.TestSuite()#定义一个单元测试容器
suite.addTest(Test("test_case"))#将测试用例加入到测试容器中
suite.addTest(Test("test_case2"))
timestr = time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))
filename ="D:\appium\result_"+ timestr +".html"#定义个报告存放路径,支持相对路径。
print(filename)
fp =open(filename,'wb')
runner = HTMLTestRunner.HTMLTestRunner(
stream=fp,
title='接口测试报告',
description='用例执行情况'
)#使用HTMLTestRunner配置参数,输出报告路径、报告标题、描述
runner.run(suite)#自动进行测试
fp.close()#测试报告关闭
注:Python2和Python3使用的HTMLTestRunner模板不一致
如有疑问,欢迎留言交流...
- 1592: [Usaco2008 Feb]Making the Grade 路面修整
- Mysql 该如何 Entity Framework 数据库迁移 和 如何更好的支持EF.Extended
- 1734: [Usaco2005 feb]Aggressive cows 愤怒的牛
- 高性能替代反射调用的几种方式
- 1596: [Usaco2008 Jan]电话网络
- 1589: [Usaco2008 Dec]Trick or Treat on the Farm 采集糖果
- 1647: [Usaco2007 Open]Fliptile 翻格子游戏
- 1295: [SCOI2009]最长距离
- 1644: [Usaco2007 Oct]Obstacle Course 障碍训练课
- 数据结构之哈夫曼树和编码器的构造
- 1578: [Usaco2009 Feb]Stock Market 股票市场
- webp图片实践之路
- 3522: [Poi2014]Hotel
- 3299: [USACO2011 Open]Corn Maze玉米迷宫
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- AIM Tech Round 5 (rated, Div. 1 + Div. 2)C. Rectangles
- PAT (Basic Level) Practice (中文)1006 换个格式输出整数 (15 分)
- 编译原理实战入门:用 JavaScript 写一个简单的四则运算编译器(二)语法分析
- PAT (Basic Level) Practice (中文)1023 组个最小数 (20 分)
- Angular里使用createEmbeddedView动态加入新的模板元素
- PAT (Basic Level) Practice (中文)1002 写出这个数 (20 分)
- [笔记整理]几个有点重要的知识点
- PAT (Basic Level) Practice (中文)1005 继续(3n+1)猜想 (25 分)
- PAT (Basic Level) Practice (中文)1033 旧键盘打字 (20 分)
- SAP电商云CCV2 Restful API enablement
- PAT (Basic Level) Practice (中文)1007 素数对猜想 (20 分)
- 两种方式解决子集问题
- PAT (Basic Level) Practice (中文)1035 插入与归并 (25 分)
- PAT (Basic Level) Practice (中文)1008 数组元素循环右移问题 (20 分)
- PAT (Basic Level) Practice (中文)1037 在霍格沃茨找零钱 (20 分)