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等,但是工具的局限性是测试数据的组织较差,接口的返回工具的判断有限, ...
随机推荐
- Js中关于内部方法、实例方法、原型方法、静态方法的个人见解。
function foo(name){ this.name=name; // 实例方法 this.GetName=function(){ console.log("my name is &q ...
- c++ 动态规划(数塔)
c++ 动态规划(dp) 题目描述 观察下面的数塔.写一个程序查找从最高点到底部任意位置结束的路径,使路径经过数字的和最大. 每一步可以从当前点走到左下角的点,也可以到达右下角的点. 输入 5 13 ...
- 入门训练-1.A+B问题
问题描述 输入A.B,输出A+B. 说明:在“问题描述”这部分,会给出试题的意思,以及所要求的目标. 输入格式 输入的第一行包括两个整数,由空格分隔,分别表示A.B. 说明:“输入格式”是描述在测试你 ...
- .Net微信网页开发之使用微信JS-SDK调用微信扫一扫功能
前言: 之前有个项目需要调用微信扫描二维码的功能,通过调用微信扫码二维码功能,然后去获取到系统中生成的二维码信息.正好微信JS-SDK提供了调用微信扫一扫的功能接口,下面让我们来看看是如何实现的吧. ...
- json与js对象间的转化
- javascript基础学习第三天
☞ 命名法: 小驼峰命名法 和 大驼峰命名法(帕斯卡命名法) 变量命名规则:遵循小驼峰命名法 [变量名第一个字母小写后面每一个单词的首字母大写] var userNameAge; 函数命名规则:遵循帕 ...
- 动态规划_Apple Catching_POJ-2385
It and ) in his field, each full of apples. Bessie cannot reach the apples when they are on the tree ...
- tomcat7之性能优化
一.Tomcat 7.0.X: 要了解tomcat的优化,我们先看看Tomcat的官方定义:The Apache Tomcat® software is an open source implemen ...
- git删除分支步骤
在本地删除一个分支: git branch -D <本地分支> 在github远程端删除一个分支: git push origin :<远程端分支> 唯一不同的就是冒号代表了删 ...
- Git/Github使用方法小记
今天把人间网的桌面客户端renjian-deck正式开源了,之前对javascript的了解其实非常的不够的,所以这一次的代码写的也是乱七八糟重用性及其低下,虽然我无数次的想把代码重新整理一下,不过还 ...