1、HTMLTestRunner介绍

HTMLTestRunner是一个第三方的unittest HTML报告库,用于python单元测试框架的TestRunner。它是生成一个HTML报告,以一目了然的网页形式展现出来。如下图:

最简单的方法是调用它的主方法。如:

当然调用的前提是我们首先需要下载 htmlTestRunner.py文件,该文件可以作为我们的模块被调用,有两种方式方法可进行操作第一种是直接将网上下载的文件进行放入pycharm的Lib\site-packages目录下可参照网络教程:https://www.cnblogs.com/cheng10/p/10438156.html,当然还有第二种方式方法,同样我也更推荐大家进行使用第二种,因为在我们进行自动化是,我们可能会调用很多第三方模块,这时我们只需要将我们可能会用到的模块放入到我们创建的python package文件包中即可,同时模块较多时也能更加规范管理,同样我直接将文件放入到网盘当中,地址如下:链接:https://pan.baidu.com/s/1Gv5T0pWhKgaWjjbdZmiFCA       提取码:ganf   (该文件中不需要再次进行修改,因为我已经将绊子给移开了,下载调用就好了)

2、如何使用HTMLTestRunner?

如果1没有问题,那么我们可以开试牛刀了,像我上图一样导入模块没有报错,就可以往下继续了

unittest框架上一章节有详细介绍与说明不懂的可以去翻阅上一章,将下面代码拷贝进行进行运行,

import unittest
import HTMLTestRunner
class testadd(unittest.TestCase):
def setUp(self):
pass
def test_add1(self):
self.assertEqual(2 + 3 + 10,15)
def test_add2(self):
self.assertEqual(10 + 150,160)
def test_add3(self):
#一处出错,查看测试结果
self.assertEqual(2 * 5 * 7, 40)
def tearDown(self):
pass
def suite():
suite = unittest.TestSuite()
suite.addTest(testadd("test_add1"))
suite.addTest(testadd("test_add2"))
suite.addTest(testadd("test_add3"))
return suite
if __name__=="__main__":
# 存放路径在E盘目录下

report_path = f"./report_{strftime('%Y%m%d%H%M%S')}.html"
with open(report_path, "wb") as gfd:
runner = HTMLTestRunner(
stream=gfd,
title="我是自动化测试标题",
description="我是自动化测试描述"
)
runner.run(suite)

fp.close()

运行后我们可查看运行结果,我们会看到运行成,但是为什么在当前未生成html文件啊,那么这个测试报告文件去哪里了呢?

3、解决pycharm + HTMLTestRunner 不能够生成html报告

网上办法都试了一遍,但是从根本原因来说是因为:pycharm 在运行测试用例的时候,默认是以unittest框架来运行的,所以不能够生成测试报告。

参考文章:https://www.cnblogs.com/santiandayu/p/10004179.html

3.1、如何判断是否以unittest框架运行

只要运行环境是unittest in …的,就都是以unittest框架运行的

3.2、解决方案

只要不以unittest框架方式运行就可解决不能生成报告的问题。可自己新增一个不以unittest框架方式运行的环境。
1)如下点击edit configurations–>选中python–>点击+
2)点击python
3)填写环境名称和脚本路径
4)选择步骤三种新增的环境,运行脚本,即可生成报告

解惑unittest框架中导入HTMLTestRunner模块后正常运行却无法生成HTML报告问题的更多相关文章

  1. 在Pycharm中导入第三方模块库(诸如:matplotlib、numpy等)

    在Pycharm中导入第三方模块库 一.打开pycharm: 二.点击菜单上的“file” -> “setting”: 三.步骤二完成后出现界面如下所示.选中你的项目(比如thisyan Pro ...

  2. PyCharm中导入MySQLDB模块小结

    安装完MySQL-python驱动,在PyCharm中导入MySQLDB模块一直不成功 Settings里面也没有MySQLdb 百般尝试找解决办法,一直搞不定,最后抱着试一试的心态尝试了一个办法: ...

  3. IDEA中导入Maven模块

    IDEA中导入Maven模块方式有二种: 1)批量添加,不可添加文件夹 2)单个添加,可添加任意文件

  4. unittest框架中读取有特殊符号的配置文件内容的方法-configparser的RawConfigParser类应用

    在搭建Unittest框架中,出现了一个问题,配置文件.ini中,出现了特殊字符如何处理? 通过 1.configparser的第三方库对应的ConfigParser类,无法完成对特殊字符的读取: # ...

  5. unittest框架下的HTMLTestRunner报告模块使用及优化

    引言 在做接口自动化测试的时候,使用python单元测试框架unittest下HTMLTestRunner报告模板,可以很好的展示我们测试结果的数据. 官方的标准版模板地址:http://tungwa ...

  6. Unittest框架+ddt数据驱动+HTMLTestRunner+sendmail(自动发送测试报告)+git+Jenkins

    本次写的是针对有代码基础的,没基础建议先去学基础,以下所有描述内容都是我已经在公司项目实践成功的!仅供参考 整体思路: 1.接口自动化用的是Python中unittest框架 2.所有的测试数据用例存 ...

  7. Python 中 使用 HTMLTestRunner 模块生成测试报告

     使用 HTMLTestRunner 模块可以生成测试报告,但是系统自带的报告不详细,不好看,所以找了一份详细的报告 HTMLTestRunner 模板,直接导入就能使用 两种方法生成HTML报告,都 ...

  8. 5.pycharm中导入第三方模块的方法

    最近刚入门学习python,网上查找了一些资料,发现python编程用的软件pycharm还是比较多的,于是就跟随大众,学习使用pycharm,在学习的过程中,想要导入第三方模块pyperclip,但 ...

  9. IDEA从SVN中导入多模块项目

    idea多模块项目的导入 在IntelliJ IDEA中间新建一个空项目,名字可以是svn要检索的的项目名称,原则是开心就好: 现在,我们将我们在svn中的多模块的项目down下来 选中顶部的导航中的 ...

随机推荐

  1. Android打开数据库读取数据

    打开数据库读取数据 private MyDatabaseHelper dbHelper; dbHelper=new MyDatabaseHelper(this,"List.db", ...

  2. 文档声明(Doctype)和<!Doctype html>有何作用? 严格模式与混杂模式如何区分?它们有何意义?

    文档声明的作用: 文档声明是为了告诉浏览器,当前HTML文档使用什么版本的HTML来写的,这样浏览器才能按照声明的版本来正确的解析. <!doctype html> 的作用就是让浏览器进入 ...

  3. 解决k8s故障,eureka处于unknow的问题

    //pod Unknown状态,开始强制删除eureka-server-node-0,eureka-server-node-1等,强制删除不了 [root@fp158 sts]# kubectl de ...

  4. Blazor 使用拖放(drag and drop)上传文件

    在很多上传文件的应用实例中, 都可以看到[拖放文件到此上传]这种骚功能 ,今天我们就来试试Blazor能不能完成这个想法. 简述HTML5拖放 拖放是HTML5标准的一部分,任何元素都能够拖放,也能够 ...

  5. css 实现球里装水

    <template> <div class="container">     <div class="wave"></ ...

  6. GitHub 自动合并 pr 的机器人——auto-merge-bot

    本文首发于 Nebula Graph Community 公众号 背景 作为一款开源的分布式图数据库产品,Nebula 所有的研发流程都在 GitHub 上运作.基于 GitHub 生态 Nebula ...

  7. SDDC的Windows初体验-QT篇

    前言 如果熟悉爱智和看过我之前文章的朋友见到这篇文章一定会有很大疑问,SDDC 作为智能设备发现控制协议,怎么会用在 windows 上? 这一切还是源自于我巨大的脑洞,因为这段在搞 Windows ...

  8. 【论文笔记】A review of applications in federated learning(综述)

    A review of applications in federated learning Authors Li Li, Yuxi Fan, Mike Tse, Kuo-Yi Lin Keyword ...

  9. Linux命令篇 - grep 命令

    grep grep searches the named input FILEs (or standard input if no files are named, or if a single hy ...

  10. Prometheus监控实战应用

    目录 1.Prometheus的主要特征及概述 2.普罗米修斯原理架构图 3.下载安装启动Prometheus 4.web客户端操作 5.默认图像 6.目录解释 7.配置文件 8.监控指标 8.1.监 ...