使用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-生成测试报告的更多相关文章

  1. python3+requests库框架设计01-自动化测试框架需要什么?

    什么是自动化测试框架 关于自动化测试框架的定义有很多,在我大致理解下就是把能实现不同功能的软件组合在一起,实现特定的目的,这就是一个简单的自动化测试框架. 接口自动化测试框架核心无非是选择 一个用来编 ...

  2. python3+requests库框架设计08-发送邮件

    使用python3的email模块和smtplib模块可以实现发送邮件的动能.email模块用来生成email,smtplib模块用来发送邮件,接下来看如何在生成测试报告之后,并将报告放在邮件附件中并 ...

  3. python3+requests库框架设计06-测试脚本

    在项目下新建TestCase文件夹,然后新建.py文件在文件中写关于接口具体的测试脚本,一般我喜欢按照模块来分,一个模块一个.py文件,建议以test开头命名文件 把配置文件改成这样 url:http ...

  4. python3+requests库框架设计05-unittest单元测试框架

    unittest单元测试框架,主要由四部分组成:测试固件.测试用例.测试套件.测试执行器 测试固件(test fixture) 测试固件有两部分,执行测试前的准备部分setUp(),测试执行完后的清扫 ...

  5. python3+requests库框架设计04-配置文件

    python3配置文件的增删改查等操作可以使用内置的ConfigParser模块,可以自行百度学习,也可以看Python3学习笔记27-ConfigParser模块 配置文件一般存放着环境信息,比如u ...

  6. python3+requests库框架设计03-请求重新封装

    在完成了日志类封装之后,那我们就要对测试基类进行实现,在其中对一些请求再次封装,在项目下新建一个Common文件夹,在文件夹下新建Base_test.py文件,项目结构如下. 具体怎么封装还是要看被测 ...

  7. python3+requests库框架设计02-封装日志类

    首先我们先来实现日志的功能,日志可以使用python3自带logging模块,不会的可以百度一下相关文章,也可以看我另外一篇文章Python3学习笔记24-logging模块 在封装日志类前,我们需要 ...

  8. 【STM32H7教程】第12章 STM32H7的HAL库框架设计学习

    完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第12章       STM32H7的HAL库框架设计学 ...

  9. Python3 完美解决unittest框架下不生成测试报告

    前提: 1.运行测试用例一切正常,只是没有测试报告显示 2.使用命令行pyhon 脚本名字.py 却可以生成测试报告 3.pycharm 在运行测试用例的时候 默认是以unittest 框架来运行的, ...

随机推荐

  1. Hbase准生产配置

    hbase-site.xml <?xml version="1.0"?><?xml-stylesheet type="text/xsl" hr ...

  2. centos之Too many open files问题-修改linux最大文件句柄数

    linux服务器大并发调优时,往往需要预先调优linux参数,其中修改linux最大文件句柄数是最常修改的参数之一. 在linux中执行ulimit -a 即可查询linux相关的参数,如下所示: [ ...

  3. JavaFX 简介

    JavaFX 介绍一提到Java的图形界面库,我们通常听到的都是Swing,或者更老一点的AWT,包括很多书上面介绍的也都是这两种.很多学校.培训班教学的也是这两种技术.但是其实这两种技术都已经过时很 ...

  4. samba服务器之无认证进入共享目录

    修改设备中的/log/samba/lib/smb.conf文件 security = share [web]                                               ...

  5. 【.Net平台下插件开发】-MEF与MAF初步调研

    背景   Team希望开发一个插件的平台去让某搜索引擎变得更好.主要用于采集一些不满意信息(DSAT)给Dev.这些信息会由不同的team提供不同的 tool分析.有的提供仅仅是一个website,有 ...

  6. sublime text3支持Vue文件高亮显示

    sublime text 默认打开.vue文件全部都是白色的,不是特别方便.安装插件可以做到代码高亮显示 1.插件vue-syntax-highlight 下载地址:github https://gi ...

  7. springboot(十七):过滤器(Filter)和拦截器(Interceptor)

    概述 在做web开发的时候,过滤器(Filter)和拦截器(Interceptor)很常见,通俗的讲,过滤器可以简单理解为“取你所想取”,忽视掉那些你不想要的东西:拦截器可以简单理解为“拒你所想拒”, ...

  8. SQL Server进阶 窗口函数

    概述  设计窗口函数目的? 在开窗函数出现之前存在着很多用 SQL 语句很难解决的问题,很多都要通过复杂的相关子查询或者存储过程来完成. 为了解决这些问题,在 2003 年 ISO SQL 标准加入了 ...

  9. udp_connect函数

    #include <netdb.h> #include <stdlib.h> #include <unistd.h> #include <string.h&g ...

  10. 三十三、Linux 进程与信号——中断系统调用和函数可重入性

    33.1 中断系统调用 进程调用 “慢” 系统调用时,如果发生了信号,内核会重启系统调用. 慢系统调用 可能会永久阻塞的系统调用 从终端设备.管道或网络设备上的文件读取 向上述文件写入 某些设备上的文 ...