今天的内容主要是,用第三方的HTMLRUNner 第三方的报告来优化之前第五天批量执行案例的测试报告。案例的部分看第五天的批量执行笔记~

HTMLRUNner他可以生成更美观的测试报告,基于前辈造的车子,我们直接改造使用。先看下运行代码部分:

  1. 案例代码在批量执行第五天去看哦~~
  1. #!/usr/bin/env python
  2. import unittest #导入unittest
  3. import os #导入前面学习的os库,方便获取文件路径
  4. import time #导入time模块,方便我们获取当前时间
  5. import HTMLTestRunner #HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展,它可以生成 HTML的 测试报告。
  6.  
  7. def allTests():
  8. suite=unittest.TestLoader().discover( #实例化测试套件,discover()方法可以批量执行多个模块中的测试案例
  9. start_dir=os.path.dirname(__file__), #start_dir=该参数是discover()方法中的,后面的参数是需要批量执行的用例模块路径
  10. pattern='test_*.py', #pattern=该参数是discover()方法中的,后面的参数是所有需要执行的用例前面是test_,后半部分用*号代替的.py文件
  11. top_level_dir=None) #top_level_dir=该参数是discover()方法中的,固定格式:top_level_dir=None
  12. return suite #记住返回测试套件
  13. def getnowtime(): #该方法获取当前最新时间
  14. return time.strftime('%Y-%m-%d %H_%M_%S',time.localtime(time.time())) #'%Y-%m-%d %H_%M_%S' 代表:年月日 时_分_秒 ,不能用冒号 %H:%M:%S 切记
  15.  
  16. def run(): #运行
  17. fp = os.path.join(os.getcwd(), 'report',getnowtime()+'testReport.html') # os.getcwd()获取当前的路径,os.path.join()拼接路径,用当前路径和现在的repot目录做拼接,生成时间+testReport.html测试报告文件
  18. HTMLTestRunner.HTMLTestRunner(
  19. stream=open(fp,'wb'), #在fp文件中用:wb参数 w代表写入,b:是用二进制写入测试报告的内容
  20. title='自动化测试报告', #测试报告的标题
  21. description='自动化测试报告详情').run(allTests()) #测试报告的详情
  22.  
  23. if __name__ == '__main__':
  24. 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. cesium 学习(四) Hello World

    一.前言 之前的文章都是基础,搭建环境.部署Cesium.学习资料等等.现在简单入手,一个Hello World页面开发. 二.Hello World 感觉Hello World没有什么特别需要讲的, ...

  2. Android生成随机数

    此方法通过把当前时刻长整型数传给Random对象,让它产生的值随着时间而变化. String s = ""; Random ran =new Random(System.curre ...

  3. Java EE.JSP.指令

    JSP的指令是从JSP向Web容器发送消息,它用来设置页面的全局属性,如输出内容类型等. JSP的指令的格式为:<%@ 指令名 属性="属性值"%> 1.page指令 ...

  4. JVM(一):久识你名,初居我心

    聊聊JVM JVM,一个熟悉又陌生的名词,从认识Java的第一天起,我们就会听到这个名字,在参加工作的前一两年,面试的时候还会经常被问到JDK,JRE,JVM这三者的区别. JVM可以说和我们是老朋友 ...

  5. AMD CPU环境下使用android studio,eclipse的Genymotion插件

    1.下载安装VirtualBox Genymotion的运行需要此环境(链接) 2.下载安装android模拟器Genymotion 由于官网的下载速度过慢,建议直接百度下载Genymotion(链接 ...

  6. 【RabbitMQ】一文带你搞定RabbitMQ延迟队列

    本文口味:鱼香肉丝   预计阅读:10分钟 一.说明 在上一篇中,介绍了RabbitMQ中的死信队列是什么,何时使用以及如何使用RabbitMQ的死信队列.相信通过上一篇的学习,对于死信队列已经有了更 ...

  7. Shell基本语法---shell介绍

    简介 1. shell是在linux系统上高效运行的脚本语言 2. 主要用来开发一些实用的.自动化的小工具,而不是用来开发具有复杂业务逻辑的中大型软件 3. shell的基本命令也是linux操作系统 ...

  8. 深入学习 Intellij IDEA 调试技巧

    程序员的日常工作除了写代码之外,很大一部分时间将会在查找 BUG,解决问题.查找 BUG,离不开在 IDE 中调试代码.熟练的掌握调试技巧,可以帮助我们减少查找时间,快速定位问题. 在 IDEA 中调 ...

  9. java类加载器-Bootstrap、 ExtClassLoader、 AppClassLoader的关系

    1. 简单介绍 Bootstrap. ExtClassLoader.  AppClassLoader是java最根正苗红的类加载器. Bootstrap是本地代码编写的(例如C), ExtClassL ...

  10. x32下PsSetLoadImageNotifyRoutine的逆向

    一丶简介 纯属兴趣爱好.特来逆向玩玩. PsSetLoadImageNotifyRoutine 是内核中用来监控模块加载.操作系统给我们提供的回调. 我们只需要填写对应的回调函数原型即可进行加监控. ...