用例的管理问题解决了后,接下来要考虑的就是报告我问题了,这里生成测试报告主要用到 HTMLTestRunner.py 这个模块,下面简单介绍一下如何使用:
一、下载HTMLTestRunner下载:
这个模块不能通过pip安装,只能下载安装,下载地址如下:
二、mac下配置:
1、终端进入python环境
2、输入:
import sys print sys.path
3、找到site-packages文件夹的路径并将下载的 HTMLTestRunner.py 文件拷贝到此的文件夹下
4、在python环境下,输入 import HTMLTestRunner 不报错即安装成功
Windows平台:
将下载的文件放入...\Python27\Lib 目录下
三、使用该模块生成报告:
1、目录结构
2、运行后生成报告如下:
3、run_all_case.py代码如下:
-
- # -*- coding:utf-8 -*-
- import unittest
- import os
- import time
- import HTMLTestRunner
-
- # 用例路径
- case_path = os.path.join(os.getcwd())
- # 报告存放路径
- report_path = os.path.join(os.getcwd(), 'report')
- print report_path
-
- def all_case():
- discover = unittest.defaultTestLoader.discover(case_path, pattern="test*.py", top_level_dir=None)
-
- print discover
- return discover
-
- if __name__ == '__main__':
- # 1、获取当前时间,这样便于下面的使用。
- now = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
-
- # 2、html报告文件路径
- report_abspath = os.path.join(report_path, "result_"+now+".html")
-
- # 3、打开一个文件,将result写入此file中
- fp = open(report_abspath, "wb")
- runner = HTMLTestRunner.HTMLTestRunner(stream=fp,
- title=u'接口自动化测试报告,测试结果如下:',
- description=u'用例执行情况:')
- # 4、调用add_case函数返回值
- runner.run(all_case())
- fp.close()
Python接口自动化测试零基础入门到精通(2023最新版)