python3+requests库框架设计07-HTMLTestRunner

Posted 梦忆安凉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3+requests库框架设计07-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删了执行试下看下效果。

以上是关于python3+requests库框架设计07-HTMLTestRunner的主要内容,如果未能解决你的问题,请参考以下文章

Python3~爬虫工具使用requests库

Python3 Robot Framework测试框架

基于Python+Requests库封装发送接口请求的工具类Python+Requests库做接口自动化框架设计系列多测师

基于Python+Requests库封装发送接口请求的工具类Python+Requests库做接口自动化框架设计系列多测师

python3 request 库

Python3.6(windows系统)安装requests库