python接口自动化测试(八)-unittest-生成测试报告

用例的管理问题解决了后,接下来要考虑的就是报告我问题了,这里生成测试报告主要用到 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、目录结构
  • case包下面有baidu,httpbin两个包
  • 每个包下面分别有两个测试的py文件
  • 每个test_00x.py文件里各有2个test case
  • run_all_case.py文件:用来执行所有的test case且生成测试报告
  

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()
复制代码

 

 

posted @   贺满  阅读(21419)  评论(2编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示