python+unittest框架第六天unittest之优化测试报告

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

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

案例代码在批量执行第五天去看哦~~
 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文件,在浏览器中打开,就可以看了

 

 

 

 

来自新手,在路上~~~不会的朋友留言哦~~~

 

posted @ 2019-08-29 20:26  我是大刘啊  阅读(778)  评论(0编辑  收藏  举报