今天的内容主要是,用第三方的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之优化测试报告的更多相关文章

  1. [转]Python测试框架对比----unittest, pytest, nose, robot framework对比

      测试框架 什么是框架? 框架(Framework)是整个或部分系统的可重用设计,框架是用来解决代码的组织及运行控制问题的. 在我们编写自动化脚本的时候,经常需要读取配置文件,读取数据文件,发送请求 ...

  2. Python单元测试框架:unittest(一)

    Python单元测试框架unittest使用方法讲解 主要介绍了Python单元测试框架unittest使用方法讲解,本文讲解了unittest概述.命令行接口.测试案例自动搜索.创建测试代码.构建测 ...

  3. Python单元测试框架:unittest(二)

    一.直接使用TestCase 注意所有测试方法都需要以test开头.代码如下: import unittest class Test1(unittest.TestCase): @classmethod ...

  4. Python单元测试框架之pytest 2 -- 生成测试报告

    From: https://www.cnblogs.com/fnng/p/4768239.html Python单元测试框架之pytest -- 生成测试报告 2015-08-29 00:40 by ...

  5. Python测试框架对比----unittest, pytest, nose, robot framework对比

    什么是框架? 框架(Framework)是整个或部分系统的可重用设计, 框架是用来解决代码的组织及运行控制问题的. 在我们编写自动化脚本的时候,经常需要读取配置文件,读取数据文件,发送请求,记录日志, ...

  6. python自动化测试框架的unittest与pytest前后置条件的区别

    前言: 笔者先试有用过unittest的前后置条件和pytest的前后置条件,觉得pytest的前后置条件比unittest的要简洁.方便很多.不过在使用unittest的前后置条件时,已经觉得在和每 ...

  7. Python测试框架之Unittest梳理

    1. 2.

  8. selenium + python自动化测试unittest框架学习(二)

    1.unittest单元测试框架文件结构 unittest是python单元测试框架之一,unittest测试框架的主要文件结构: File >report >all_case.py &g ...

  9. python之unittest框架实现接口测试实例

    python之unittest框架实现接口测试实例 接口测试的方法有很多种,具体到工具有postman,jmeter,fiddler等,但是工具的局限性是测试数据的组织较差,接口的返回工具的判断有限, ...

随机推荐

  1. [leetcode]375 Guess Number Higher or Lower II (Medium)

    原题 思路: miniMax+DP dp[i][j]保存在i到j范围内,猜中这个数字需要花费的最少 money. "至少需要的花费",就要我们 "做最坏的打算,尽最大的努 ...

  2. 【ML入门】李宏毅机器学习笔记01-Learning Map

    版权声明:小博主水平有限,希望大家多多指导.本文仅代表作者本人观点,转载请联系知乎原作者——BG大龍. 目录 1 什么是机器学习? 2 机器学习的3个步骤 3 李宏毅老师的机器学习课程 4 按“模型的 ...

  3. Visual Studio 调试(系列文章)

    调试是软件开发过程中非常重要的一个部分,它具挑战性,但是也有一定的方法和技巧. Visual Studio 调试程序有助于你观察程序的运行时行为并发现问题. 该调试器可用于所有 Visual Stud ...

  4. JSON的简单使用之提取多层嵌套的JSON(C#)

    JSON.NET(http://json.codeplex.com/)使用来将.NET中的对象转换为JSON字符串(序列化?),或者将JSON字符串转换为.NET中已有类型的对象(反序列化?) 反序列 ...

  5. python 接口测试环境准备

    1.之前用python做appium测试,今天想要尝试下做接口测试 发现在pycharm下,import requests总是报错 : no  model named requests 联想到应该是没 ...

  6. 1.4.1python下载网页(每天一更)

    # -*- coding: utf-8 -*- ''' Created on 2019年4月27日 @author: lenovo ''' # import urllib3 # def downloa ...

  7. 聊一聊Java的枚举enum

    一. 什么是枚举 枚举是一种数据类型,具有集合的一些特点,可以存放多个元素,但存储对象有限且固定,枚举也有比较常见的使用场景,如我们需要表达性别(男.女),颜色(红.黄.蓝),星期(星期一.星期二.. ...

  8. 自定义SWT控件四之其它下拉框

    4.其它下拉框 4.1 添加联动二级多选择框(有添加按钮和删除按钮) package com.view.control.select; import java.util.ArrayList; impo ...

  9. export,export default,module.exports,import,require之间的区别和关联

    module.exports Node 应用由模块组成,采用 CommonJS 模块规范.根据这个规范,每个文件就是一个模块,有自己的作用域.在这些文件里面定义的变量.函数.类,都是私有的,对外不可见 ...

  10. 测试通过mweb进行发布Title

    MWeb 是专业的 Markdown 写作.记笔记.静态博客生成软件,目前已支持 Mac,iPad 和 iPhone.MWeb 有以下特色: 软件本身: 使用原生的 macOS 技术打造,追求与系统的 ...