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

狂风中的少年 提交于 2020-01-08 12:08:31

-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 Test01from test1.PO3.zhiliao.HTMLTestRunnerNew import HTMLTestRunnerimport timeclass 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 BeautifulReportif __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

 

 

 

 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!