python+unittest框架第六天unittest之优化测试报告
今天的内容主要是,用第三方的HTMLRUNner 第三方的报告来优化之前第五天批量执行案例的测试报告。案例的部分看第五天的批量执行笔记~
HTMLRUNner他可以生成更美观的测试报告,基于前辈造的车子,我们直接改造使用。先看下运行代码部分:
案例代码在批量执行第五天去看哦~~
#!/usr/bin/env python
import unittest #导入unittest
import os #导入前面学习的os库,方便获取文件路径
import time #导入time模块,方便我们获取当前时间
import HTMLTestRunner #HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展,它可以生成 HTML的 测试报告。 def allTests():
suite=unittest.TestLoader().discover( #实例化测试套件,discover()方法可以批量执行多个模块中的测试案例
start_dir=os.path.dirname(__file__), #start_dir=该参数是discover()方法中的,后面的参数是需要批量执行的用例模块路径
pattern='test_*.py', #pattern=该参数是discover()方法中的,后面的参数是所有需要执行的用例前面是test_,后半部分用*号代替的.py文件
top_level_dir=None) #top_level_dir=该参数是discover()方法中的,固定格式:top_level_dir=None
return suite #记住返回测试套件
def getnowtime(): #该方法获取当前最新时间
return time.strftime('%Y-%m-%d %H_%M_%S',time.localtime(time.time())) #'%Y-%m-%d %H_%M_%S' 代表:年月日 时_分_秒 ,不能用冒号 %H:%M:%S 切记 def run(): #运行
fp = os.path.join(os.getcwd(), 'report',getnowtime()+'testReport.html') # os.getcwd()获取当前的路径,os.path.join()拼接路径,用当前路径和现在的repot目录做拼接,生成时间+testReport.html测试报告文件
HTMLTestRunner.HTMLTestRunner(
stream=open(fp,'wb'), #在fp文件中用:wb参数 w代表写入,b:是用二进制写入测试报告的内容
title='自动化测试报告', #测试报告的标题
description='自动化测试报告详情').run(allTests()) #测试报告的详情 if __name__ == '__main__':
run()
首先如果你是python3,你可以直接用我改过的TMLTestRunner.py文件将他直接放入在你的Python3 安装包目录中的Lib文件夹中。比如:
这是我的目录:C:\Users\92938\tools\Python36\Lib 该文件夹中。如图:

大家可以在网上找一下这个文件,如果实在在不到留言邮箱我发送给你~~~
放入该文件后,你就可以导入 import HTMLTestRunner 模块 然后记得创建测试报告包,以及指定测试报告输出到那个目录下。还有时间哦~方便看每次执行后,那个才是最新执行的结果~~

接下来就是看我刚才顶部的代码,理论上你应该能看的懂我的注释,如果你还是不懂,就留言吧~~~
我们看下执行后生成的测试报告:

ennn...总结:
1、python2 和 python3 使用的HTMLRunner.py文件是不一样的,需要修改~~
2、测试模块.py文件,一定要写规范,不要使用中文或中横线(----)我使用后,发现这个模块文件中的案例不会被执行~~~
3、记得获取当前最新时间,方便看最新的测试报告~~ 另外时间的地方不能用冒号,切记
4、测试完毕后,点击html文件,在浏览器中打开,就可以看了

来自新手,在路上~~~不会的朋友留言哦~~~
python+unittest框架第六天unittest之优化测试报告的更多相关文章
- [转]Python测试框架对比----unittest, pytest, nose, robot framework对比
测试框架 什么是框架? 框架(Framework)是整个或部分系统的可重用设计,框架是用来解决代码的组织及运行控制问题的. 在我们编写自动化脚本的时候,经常需要读取配置文件,读取数据文件,发送请求 ...
- Python单元测试框架:unittest(一)
Python单元测试框架unittest使用方法讲解 主要介绍了Python单元测试框架unittest使用方法讲解,本文讲解了unittest概述.命令行接口.测试案例自动搜索.创建测试代码.构建测 ...
- Python单元测试框架:unittest(二)
一.直接使用TestCase 注意所有测试方法都需要以test开头.代码如下: import unittest class Test1(unittest.TestCase): @classmethod ...
- Python单元测试框架之pytest 2 -- 生成测试报告
From: https://www.cnblogs.com/fnng/p/4768239.html Python单元测试框架之pytest -- 生成测试报告 2015-08-29 00:40 by ...
- Python测试框架对比----unittest, pytest, nose, robot framework对比
什么是框架? 框架(Framework)是整个或部分系统的可重用设计, 框架是用来解决代码的组织及运行控制问题的. 在我们编写自动化脚本的时候,经常需要读取配置文件,读取数据文件,发送请求,记录日志, ...
- python自动化测试框架的unittest与pytest前后置条件的区别
前言: 笔者先试有用过unittest的前后置条件和pytest的前后置条件,觉得pytest的前后置条件比unittest的要简洁.方便很多.不过在使用unittest的前后置条件时,已经觉得在和每 ...
- Python测试框架之Unittest梳理
1. 2.
- selenium + python自动化测试unittest框架学习(二)
1.unittest单元测试框架文件结构 unittest是python单元测试框架之一,unittest测试框架的主要文件结构: File >report >all_case.py &g ...
- python之unittest框架实现接口测试实例
python之unittest框架实现接口测试实例 接口测试的方法有很多种,具体到工具有postman,jmeter,fiddler等,但是工具的局限性是测试数据的组织较差,接口的返回工具的判断有限, ...
随机推荐
- [PTA] 数据结构与算法题目集 6-8 求二叉树高度 & 6-9 二叉树的遍历
6.8 二叉树高度 int GetHeight(BinTree BT) { if (BT == NULL) return 0; int leftH = GetHeight(BT->Left); ...
- 【halcon教程资料】全网汇总如何快速、高效率学习机器视觉从入门到精通
我以八年的视觉工程师开发的工作经验告诉你,你不要再因为学习halcon发愁了,我接触过很多学习halcon的小白,并不是不愿意学,而是不知道怎么快速.高效率的学习精通,一天天的过去了,对学习halco ...
- Dubbo源码学习之-Adaptive自适应扩展
前言 最近三周基本处于9-10-6与9-10-7之间,忙碌的节奏机会丢失了自己.除了之前干施工的那段经历,只看参加软件开发以来,前段时间是最繁忙的了.忙的原因,不是要完成的工作量大,而是各种环境问题, ...
- sqlmap用法大全
sqlmap参数详解: Usage: python sqlmap.py [options] Options(选项): -h, --help Show basic help mes ...
- 彻底搞懂Python切片操作
在利用Python解决各种实际问题的过程中,经常会遇到从某个对象中抽取部分值的情况,切片操作正是专门用于完成这一操作的有力武器.理论上而言,只要条件表达式得当,可以通过单次或多次切片操作实现任 ...
- 物联网网关MQTT应用与配置测试介绍
1.MQTT介绍: MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),作为除Modbus外最常用的协议之一,因其基于发布/订阅的模式,具有资源消 ...
- js获取手机系统语言
只需 navigator.language 就可以获取手机系统语言,要做国际化的童鞋可以看看 如图:(第一次是简体,第二次切换English),zh-CN,en-US是语言代码 更多语言代码,请查看h ...
- 学习vue感触
大学还没毕业,想着先找工作,感觉计算机专业在老家做没有太大的发展,于是就在大学所在城市找了份工作.来到公司的第一天,带我的师傅让我学习vue.之前完全没有接触过框架,而且专业知识比较薄弱,前几天一直处 ...
- Oracle中ROWNUM伪列和ROWID伪列的用法与区别
做过Oracle分页的人都知道由于Oracle中没有像MySql中limit函数以及SQLServer中的top关键字等,所以只能通过伪列的方式去满足分页功能,在此,不谈分页方法,只从根本上去介绍这两 ...
- Drawable 使用详解
极力推荐文章:欢迎收藏 Android 干货分享 阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android Drawable 是Android 中图像显示的常用方法. 概念:Drawable ...