使用BeautifulReport生成测试报告及遇到的雷点

BeautifulReport是一个基于unittest框架的测试报告生成工具,它可对自动化测试生成美观、详细的HTML测试报告。

使用BeautifulReport需要先安装

pip install BeautifulReport

示例

一个加法功能的测试用例,使用unittest+BeautifulReport实现自动化并生成测试报告

#!/usr/bin/env python
# -*- coding: UTF-8 -*-


from BeautifulReport import BeautifulReport
import unittest


def add(a, b):
    return a + b


# 加法功能测试用例
class Test11(unittest.TestCase):
    # 测试用例1
    def test_addition_1(self):
        result = add(2, 3)
        self.assertEqual(result, 5)

    # 测试用例2
    def test_addition_2(self):
        result = add(0, 0)
        self.assertEqual(result, 0)

    # 测试用例3
    def test_addition_3(self):
        result = add(-5, 5)
        self.assertEqual(result, 1)


if __name__ == "__main__":

    # 创建测试套件对象
    suite = unittest.TestSuite()

    # 加载测试用例
    suite.addTests([Test11('test_addition_1'), Test11('test_addition_2'), Test11('test_addition_3')])

    # 创建 BeautifulReport 的实例
    result = BeautifulReport(suite)

    # 定义测试报告,设置文件名、用例名称、路径
    result.report(filename='report.html', description='加法功能测试用例', report_dir='D:/Programs/Test/Auto_Test')


上述代码使用了 unittest框架管理测试用例,使用 BeautifulReport 模块来生成漂亮的测试报告。

我们定义了一个名为 add 的函数,用于进行两个数相加的操作,我们来针对这个函数写测试用例。

定义一个名为 Test11 的测试类,并继承自 unittest.TestCase

在该类中,我们编写了三条测试用例:test_addition_1test_addition_2test_addition_3,分别对加法运算进行了不同的测试断言。

接下来,在主程序中创建了一个 TestSuite 对象,并使用 suite.addTest() 方法将三个测试方法分添加到 TestSuite 中。

然后,通过实例化 BeautifulReport(suite) 来生成漂亮的测试报告,并指定文件名、描述和报告保存目录。

最后,调用 report() 方法生成测试报告。

控制台打印结果:
使用BeautifulReport生成测试报告及遇到的雷点_第1张图片

报告打开方式:找到路径,右键open,选择想打开的浏览器

使用BeautifulReport生成测试报告及遇到的雷点_第2张图片

查看报告

使用BeautifulReport生成测试报告及遇到的雷点_第3张图片

使用BeautifulReport生成测试报告及遇到的雷点_第4张图片

BeautifulReport的常用方法和详解

  1. BeautifulReport(__init__) 构造函数:__init__(self, runner=None):初始化 BeautifulReport 对象,可以传入指定的 runner,默认使用 unittest 的 TextTestRunner。

  2. add_test() 方法:add_test(self, test, report_title='Test Report'):添加需要生成报告的测试套件,可以设置报告标题,默认为 "Test Report"。

  3. report() 方法:report(filename='report.html', description='Test Report'):生成测试报告,将结果保存到指定的文件中,默认为 "report.html"。 参数说明:

    • description:报告描述信息,默认为 "Test Report"。
    • filename:要保存的文件名,默认为 "report.html"。
  4. BeautifulReportTestRunner 类(继承自 TextTestRunner):

    • 通过替换 unittest 的 TextTestRunner 实现在运行时调用 BeautifulReport 生成报告。
    • 可以使用该类来代替默认的 TextTestRunner 来运行测试,并生成美观的报告。

雷点:用了unittest框架,beautifulreport的报告文件无法生成

问题:运行测试用例一切正常,只是没有生成测试报告,且main函数里的print函数也都无法打印出来。

因为用了unittest框架,pycharm 在运行测试用例的时候 默认是以unittest 框架来运行的,所以主函数的内容没有执行了。

使用BeautifulReport生成测试报告及遇到的雷点_第5张图片所以不

需要改成用非unittest框架执行,就可以了,操作步骤如下:

编辑配置

使用BeautifulReport生成测试报告及遇到的雷点_第6张图片

可以看到有一个python配置和一个tests配置,下面这个就是用的unittest框架执行,我们需要吧要执行的文件改到上面的python里

使用BeautifulReport生成测试报告及遇到的雷点_第7张图片

添加,选择python

使用BeautifulReport生成测试报告及遇到的雷点_第8张图片

设置,选择需要得文件,ok,apply,ok

使用BeautifulReport生成测试报告及遇到的雷点_第9张图片

再去执行就可以了

使用BeautifulReport生成测试报告及遇到的雷点_第10张图片

你可能感兴趣的:(python,接口自动化,python)