用例的管理问题解决了后,接下来要考虑的就是报告我问题了,这里生成测试报告主要用到 HTMLTestRunner.py 这个模块,下面简单介绍一下如何使用:html
1、下载HTMLTestRunner下载:python
这个模块不能经过pip安装,只能下载安装,下载地址以下:python3.x
- python2.x版本:http://tungwaiyip.info/software/HTMLTestRunner.html
- python3.x版本:http://hzqldjb.blog.51cto.com/9587820/1590802
2、mac下配置:函数
一、终端进入python环境测试
二、输入:spa
import sys print sys.path
三、找到site-packages文件夹的路径并将下载的
HTMLTestRunner.py 文件拷贝到此的文件夹下
四、在python环境下,输入 import HTMLTestRunner 不报错即安装成功
3、使用该模块生成报告:
一、目录结构
- case包下面有baidu,httpbin两个包
- 每一个包下面分别有两个测试的py文件
- 每一个test_00x.py文件里各有2个test case
- run_all_case.py文件:用来执行全部的test case且生成测试报告

二、运行后生成报告以下:code
三、run_all_case.py代码以下:htm
# -*- 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__': # 一、获取当前时间,这样便于下面的使用。 now = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time())) # 二、html报告文件路径 report_abspath = os.path.join(report_path, "result_"+now+".html") # 三、打开一个文件,将result写入此file中 fp = open(report_abspath, "wb") runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u'接口自动化测试报告,测试结果以下:', description=u'用例执行状况:') # 四、调用add_case函数返回值 runner.run(all_case()) fp.close()