Unittest+HTMLTestRunner不能生成报告解决方法和报告安装使用

1、问题现象

在使用HTMLTestRunner生成测试报告时,出现程序运行不报错,但不能生成报告的情况。

刚开始找了很久没发现问题,后来加上打印信息,发现根本没执行生成报告这部分代码。最后网上找到原因:pycharm 在运行测试用例的时候 默认是以unittest 框架来运行的,所以不能生成测试报告。

需要设置成不要用unittest框架运行:

HTMLTestRunner.pyw文件经过修改的,需要下载:链接:https://pan.baidu.com/s/1BtF4Xus3kecI8qfTAy4z7w
提取码:2gtj


#unittest测试框架#pytest比unittest全面一点#导包import requests#导入接口用的包import unittestfrom pyJIAO.APP.APP.aa.baogao4 import Test01

from test1.PO3.zhiliao.HTMLTestRunnerNew import HTMLTestRunnerimport time

class Test(unittest.TestCase):    # 用于测试用例执行前的初始化工作    def setUp(self):        print("test start")

    def test_bbb(self):        print("test bbb")

        # 用于测试用例执行之后的善后工作    def tearDown(self):        print("test end")

if __name__ == ‘__main__‘:    # 实例化测试套件    suite = unittest.TestSuite()    # 加载测试用例    suite.addTest(Test("test_bbb"))    #获取当前时间    now = time.strftime("%Y-%m-%d %H_%M_%S")    # 定义报告存放路径    filename = now + ‘result.html‘   #报告存放在当前目录    fp = open(filename, ‘wb‘)    # 定义测试报告    runner = HTMLTestRunner(stream=fp, title=‘测试报告‘, description=‘用例执行情况:‘)    runner.run(suite)    fp.close()  # 关闭报告文件
 

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

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

3、解决方案

只要不以unittest框架方式运行就可解决不能生成报告的问题。可自己新增一个不以unittest框架方式运行的环境。

1)如下点击edit configurations-->选中python-->点击+

2)点击python

3)填写环境名称和脚本路径

4)选择步骤三种新增的环境,运行脚本,即可生成报告

5、用HTMLTestRunner必须下载好文件放到python的lid目录也行,直接放到更目录也行,最终是要导入的:

二、还有一种比HTMLTestRunner跟加好用的,BeautifulReport

安装下载:一个报告:pip install BeautifulReport

执行代码如下:

import unittestfrom BeautifulReport import BeautifulReport

if __name__ == ‘__main__‘:    test_suite = unittest.defaultTestLoader.discover(‘E:\\pythonJIAO\\test1\\jiekou\\scripts‘, pattern=‘jieko*.py‘)    result = BeautifulReport(test_suite)    result.report(filename=‘测试报告‘, description=‘测试deafult报告‘, report_dir=‘E:\\pythonJIAO\\test1\\PO3\\scripts‘, theme=‘theme_default‘)

"""

    BeautifulReport.report        report (        filename -> 测试报告名称, 如果不指定默认文件名为report.html        description -> 测试报告用例名称展示        report_dir=‘.‘ -> 报告文件写入路径        theme=‘theme_default‘ -> 报告主题样式 theme_default theme_cyan theme_candy theme_memories        )

    BeautifulReport.add_test_img

"""生成的报告是不是比较好看:
三、用pytest生成报告最方便,报告如下,具体看另外文章pytest生成报告的插件:    pip install pytest-html安装pytest和allure:    pip install pytest   和  pip install allure-pytest查看:pip list

生成报告命令:pytest --html=report/report.html

 

原文地址:https://www.cnblogs.com/zenghongfei/p/12165808.html

时间: 2024-11-05 17:22:25

Unittest+HTMLTestRunner不能生成报告解决方法和报告安装使用的相关文章

axis2的wsdl无法使用eclipse axis1插件来生成客户端--解决方法

使用jetty+axis2实现webservice服务端,且无需使用axis2命令生成服务端代码,只要services.xml配置实现类. 工程为gradle工程配置文件在src/main/resources/axis2/WEB-INF/services.xml: <?xml version="1.0" encoding="UTF-8"?> <serviceGroup> <service name="wifiecService

70-persistent-net.rules无法自动生成,解决方法

无法自动生成70-persistent-net.rules文件的原因: 在更换linux内核前修改ifcfg-eth0文件,更换内核,使用dhclient无法动态分配IP,删掉70-persistent-net.rules文件,重启系统. 在/dev/udev/rules.d文件夹下没有自动生成70-persistent-net.rules文件. 解决方法: 手动执行/lib/udev/write_net_rules 如果提示信息为: missing $INTERFACE 添加变量: expor

关于Altium Designer 提示发送错误报告解决方法

提示是这样子,,,,,, 稍微有点问题就提示,,,复制也提示,,,,移动也提示,,,,,,算是服了这个软件了.......真是忍无可忍,那就无需再忍,解决掉 以前是安装上一个虚拟的打印机就好了,,,其实这次也是安装上一个虚拟的打印机解决的,,,不过安装了好多个打印机,才安装上一个,,可能我的电脑该换了 这次是在电脑自带的软件助手上找的一款打印机,然后让它安装的,,,,,,,自己下了好多个虽然安装上但是就是不会出现下图.... 安装上打印机以后,会显示出来 以前是看到这个帖子才知道的安装一个打印机

9-Unittest+HTMLTestRunner不能生成报告解决方法

1.问题现象 在使用HTMLTestRunner生成测试报告时,出现程序运行不报错,但不能生成报告的情况. 刚开始找了很久没发现问题,后来加上打印信息,发现根本没执行生成报告这部分代码.最后网上找到原因:pycharm 在运行测试用例的时候 默认是以unittest 框架来运行的,所以不能生成测试报告. if __name__ == '__main__': print '开始执行main' # 创建文件,用来存放测试报告 filepath = '..\htmlreport\htmlreport.

spring中配置quartz调用两次及项目日志log4j不能每天生成日志解决方法

在quartz中配置了一个方法运行时会连续调用两次,是因为加载两次,只需在tomcat的server.xml中修改配置 <Host name="www.xx.cn" appBase="" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="webapps/demo" reloadable=&quo

创建发布时无法生成快照,解决方法

引用 主要是要注意权限的问题,一般做发布/订阅,建议你做如下准备工作: 1.发布服务器,订阅服务器都创建一个同名的windows用户,并设置相同的密码,做为发布快照文件夹的有效访问用户 我的电脑 --控制面板 --管理工具 --计算机管理 --用户和组 --右键用户 --新建用户 --建立一个隶属于administrator组的登陆windows的用户 2.在发布服务器上,新建一个共享目录,做为发布的快照文件的存放目录,操作: 我的电脑--D:\ 新建一个目录,名为: PUB --右键这个新建的

数独题的生成与解决方法

前言 最近在学习Java,在梁勇的 Introduction to Java Programming 10ed 中看到了一个数独问题的例子,这个例子其实是引导学习二维数组的例子,书本中给出的例子也比较简单,就是判断一个数独答案是不是正确的. 其实进行到这,学习知识的目的已经达到了,但是只能输入一个数独答案判断一下是否正确,这实在是太太太太太傻了,不知道有多傻.我始终按耐不住心中那股探索欲,我要做一个生成数独题的程序,同时它还能自己解决.于是这就开启了潘多拉的魔盒. 背景 数独是一种源自18世纪末

Linux一些常见的错误报告解决方法

一.无法获取锁 首先一般在安装软件前都会对库进行更新 sudo apt-get update 更新之后安装软件时可能会报错.如下: 在安装redis-server时,出现无法获取锁 E: /var/lib/dpkg/lock-frontend -open (11: 资源暂时不可用)和E: 无法获取 dpkg 前段锁 (/var/lib/dbkg/lock-frontend),是否有其他进程占用它? 通过使用ps -aux | grep apt,查询到与apt有关的进程,并通过kill -9 13

CentOS7.0最小化安装后没有桌面的解决方法(手动安装图形桌面)

1.放入光盘 2.root用户下输入命令: mount /dev/sr0 /media 3.配置光盘为本地yum源 命令: vi /etc/yum.repos.d/local.repo 按Insert键开始输入以下内容: [local] name=local baseurl=file:///media/ enabled=1 gpgcheck=0 按ESC键,然后输入  :x   或 :wq   保存(别漏输入:) (不会用vi的可以上网看教程) 4.加载yum缓存:  yum makecache