zoukankan      html  css  js  c++  java
  • Unittest+HTMLTestRunner不能生成报告解决方法和报告安装使用

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

    1、问题现象

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

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

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

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

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

    from test1.PO3.zhiliao.HTMLTestRunnerNew import HTMLTestRunner
    import 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 unittest
    from 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

     
    没有不会的技术,只有你想不到的技术。。。。。。。。。。。。。。
  • 相关阅读:
    useState 的介绍和多状态声明(二)
    PHP:相对于C#,PHP中的个性化语法
    PHP:IIS下的PHP开发环境搭建
    PHP:同一件事,有太多的方式
    Javascript:再论Javascript的单线程机制 之 DOM渲染时机
    Javascript:拦截所有AJAX调用,重点处理服务器异常
    DDD:谈谈数据模型、领域模型、视图模型和命令模型
    .NET:再论异常处理,一个真实的故事
    Javascript:由 “鸭子类型” 得出来的推论
    Workflow:采用坐标变换(移动和旋转)画箭头
  • 原文地址:https://www.cnblogs.com/zenghongfei/p/12165808.html
Copyright © 2011-2022 走看看