使用HTMLTestRunner可以生成测试报告。HTMLTestRunner是unittest模块下的一个拓展,原生的生成报告样式比较丑,GitHub上有大佬优化过后的版本:GitHub地址。下载之后解压应该是这样的
我们需要使用的是HTMLTestRunnerCN.py和EN.py 这两个。一个生成的是中文报告,一个生成的是英文报告。想用哪个版本的就把对应版本的.py文件复制到pytho3安装目录下的Lib文件夹下。能import进来相应的文件就可以了。最下面两个test开头的.py文件是用来测试的。可以直接运行看下生成的报告是什么样子的
项目下新建一个report文件夹,项目结构如下
打开上篇文章中entrance.py文件,修改代码如下
import TestCase.test_weather import HTMLTestRunnerCN import getcwd import os import unittest if __name__ == "__main__": suite = unittest.TestSuite() suite.addTest(TestCase.test_weather.weather('test_weather')) path = getcwd.get_cwd() file_path = os.path.join(path,'report/xxx接口自动化测试报告.html') fp = open(file_path,'wb') runner = HTMLTestRunnerCN.HTMLTestReportCN( stream = fp, title = 'xxx接口自动化测试报告', description = '报告中描述部分', tester = '测试者' ) runner.run(suite) fp.close()
可以看到在report文件夹下生成了html文件。文件夹打开这个html文件
可以看到生成报告的效果,代码中的字段对照报告很容易看出来是哪些。懒得再说了
在类和测试函数的第一行添加注释块,里面可以写上功能说明,这样生成测试报告时用例集/测试用例那里也能看到对应的功能说明
把之前test_weather.py文件,test_weather方法的断言修改一下,再次运行
测试函数中try...except,一定要raise异常。不raise执行失败了。测试报告会算在通过里面的,因为异常被处理了。可以自己把raise删了执行试下看下效果。