码迷,mamicode.com
首页 > Web开发 > 详细

Selenium实战(五)——HTML测试报告

时间:2020-01-15 19:25:02      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:第三方   tun   rip   时间格式   window   span   指定   stream   sele   

一、概览下载与安装

  HTMLTestRunner是unittest的一个扩展,可以生成易于使用的HTML测试报告。HTMLTestRunner是在BSD许可证下发布的。

  下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html

  因为该扩展不支持Python3,就做了一些修改 使其??在Python3下运行

  GitHub地址:https://github.com/SeldomQA/HTMLTestRunner

  HTMLTestRunner.py文件既可以把它当做Python的第三方库来使用,也可以将其当做项目的一部分来使用。将其放在Python\Lib的安装目录下,在命令行检查是否安装成功

技术图片

 也可以将其放在项目所在的目录下,这样可以更方便的定制生成HTMLTestRunner报告。

二、测试报告的生成

 技术图片

  • stream:指定生成HTML测试报告的文件,必填。
  • verbosity:指定日志的级别,默认为1.如果想要得到更详细的日志,可以将参数改为2。
  • title:指定测试用例的标题,默认为None。
  • description:指定测试用例的描述,默认为None。
     1 import unittest
     2 from HTMLTestRunner import HTMLTestRunner
     3 
     4 # 定义测试用例的目录为当前目录中的unit_test
     5 test_dir = ./
     6 suits = unittest.defaultTestLoader.discover(test_dir, pattern=test*.py)
     7 if __name__ == __main__:
     8     # 生成HTML格式的测试报告
     9     fp = open(./result.html, wb)
    10     runner = HTMLTestRunner(stream=fp,
    11                             title="hahahha",
    12                             description="运行环境:Windows 10,Chrome浏览器")
    13     runner.run(suits)
    14     fp.close() 

技术图片

首先会使用open()方法打开result.html文件,用于写入测试结果。如果没有result.html文件,则会自动创建该文件,并将该文件对象传给HTMLTestRunner类的初始化参数stream.然后,调用HTMLTestRunner类中的run()方法来运行测试套件。最后,关闭result.html文件。

技术图片

三、易读性强的测试报告

  为了在测试报告中更好的理解测试用例的功能,每条测试用例在编写时都应该有标题或说明,这里用到了Python的注释,Python里的注释分为两种:commentdoc string,前者为普通注释,后者用于描述函数、类和方法。在类或方法的下方,可以通过三引号添加doc string类型的注释。这类注释在平时调用时不会显示,只有通过help()方法查看时才会被显示出来。

  因为HTMLTestRunner可以读取doc string类型的注释,所以,只需要给测试类或方法添加这种类型的注释即可。

技术图片

 技术图片

 四、测试报告文件名

  测试报告的文件名为固定的,每次新的测试报告都会覆盖上一次的。若是不想被覆盖,只能每次在运行前手动修改报告的名称。这样很麻烦,最好能为测试报告自动取不同的名称,并且包含特定的含义。这里可以引用时间。

  • time.time():获取当前时间戳
  • time.ctime():当前时间的字符串形式
  • time.localtime():当前时间的struct_time形式
  • time.strftime():用来获取当前时间,可以将时间格式化为字符串

技术图片

 修改test_run文件如下:

 1 import time
 2 import unittest
 3 
 4 from HTMLTestRunner import HTMLTestRunner
 5 
 6 # 定义测试用例的目录为当前目录中的unit_test
 7 test_dir = ./
 8 suits = unittest.defaultTestLoader.discover(test_dir, pattern=test*.py)
 9 if __name__ == __main__:
10     # 取当前日期时间
11     now_time = time.strftime("%Y-%m-%d %H_%M_%S")
12     # 生成HTML格式的测试报告
13     fp = open(./ + now_time + result.html, wb)
14     runner = HTMLTestRunner(stream=fp,
15                             title="hahahha",
16                             description="运行环境:Windows 10,Chrome浏览器")
17     runner.run(suits)
18     fp.close()

技术图片

Selenium实战(五)——HTML测试报告

标签:第三方   tun   rip   时间格式   window   span   指定   stream   sele   

原文地址:https://www.cnblogs.com/pegawayatstudying/p/12197250.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!