python3+requests库框架设计07-生成测试报告

时间:2021-10-17 15:56:34

使用HTMLTestRunner可以生成测试报告。HTMLTestRunner是unittest模块下的一个拓展,原生的生成报告样式比较丑,GitHub上有大佬优化过后的版本:GitHub地址。下载之后解压应该是这样的

python3+requests库框架设计07-生成测试报告

我们需要使用的是HTMLTestRunnerCN.py和EN.py 这两个。一个生成的是中文报告,一个生成的是英文报告。想用哪个版本的就把对应版本的.py文件复制到pytho3安装目录下的Lib文件夹下。能import进来相应的文件就可以了。最下面两个test开头的.py文件是用来测试的。可以直接运行看下生成的报告是什么样子的

项目下新建一个report文件夹,项目结构如下

python3+requests库框架设计07-生成测试报告

打开上篇文章中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()

python3+requests库框架设计07-生成测试报告

可以看到在report文件夹下生成了html文件。文件夹打开这个html文件

python3+requests库框架设计07-生成测试报告

可以看到生成报告的效果,代码中的字段对照报告很容易看出来是哪些。懒得再说了

python3+requests库框架设计07-生成测试报告

在类和测试函数的第一行添加注释块,里面可以写上功能说明,这样生成测试报告时用例集/测试用例那里也能看到对应的功能说明

python3+requests库框架设计07-生成测试报告

把之前test_weather.py文件,test_weather方法的断言修改一下,再次运行

python3+requests库框架设计07-生成测试报告

测试函数中try...except,一定要raise异常。不raise执行失败了。测试报告会算在通过里面的,因为异常被处理了。可以自己把raise删了执行试下看下效果。