Selenium 2自动化测试实战36(更易读的测试报告)

别说谁变了你拦得住时间么 提交于 2019-12-03 14:23:28

一、更易读的测试报告

1.知识点:python的注释。

1.一种叫comment,为普通的注释
2.另一种叫doc string,用于函数,类和方法的描述。
在类或方法的下方,通过三引号(""" """或''' ''')来添加doc string类型的注释,这类注释在平时调用的时候不显示,可以通过help()方法来查看类或方法的这种注释。

HTMLTestRunner可以读取doc string类型的注释,所以,我们只需要给测试类或方法添加这种类型的注释即可。如下图所示

 

 

 

生成的测试报告注释如下图所示

 

 

 

 

2.测试报告文件名
在报告名称中加入当前时间,这样生成的报告既不会重叠,又能更清晰的知道报告生成的时间。
python的time模块中提供了丰富的关于时间操作的方法,可以利用这些方法来完成这个需求。
time.time():获取当前时间戳
time.ctime():当前时间的字符串形式
time.localtime():当前时间的struct_time形式
time.strftime():用来获得当前时间,可以将时间格式化为字符串。

 

 

 

 

 

 

 

 

 

通过strftime()方法以指定的格式获取当前时间,将当前时间的字符串赋值给now变量。将now通过加号(+)拼接到生成的测试报告的文件名中。再次运行测试用例,生成的测试报告文件名如下图所示

 

 


3.项目集成测试报告
目前HTMLTestRunner只是针对单个测试文件生成测试报告,最终我们是希望将它集成到runtest.py文件中,使其作用于整个测试项目。

#runtest.py
#coding:utf-8
import unittest
import time

from HTMLTestRunner import HTMLTestRunner


if __name__=="__main__":

    #按照一定格式获取当前时间
    now=time.strftime("%Y-%m-%d %H_%M_%S")

    #指定测试用例为当前文件夹下的test_case目录
    test_dir='./test_case'

    discover=unittest.defaultTestLoader.discover(test_dir,pattern='test_*.py')

    filename=test_dir+'/'+now+"result.html"
    fp=open(filename,'wb')

    #定义测试报告
    runner=HTMLTestRunner(stream=fp,title=u'搜索测试报告',description=u'用例执行情况:')

    # 运行测试用例
    runner.run(discover)
    fp.close()

  

生成的HTML测试报告如下图所示

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!