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_1
、test_addition_2
和 test_addition_3
,分别对加法运算进行了不同的测试断言。
接下来,在主程序中创建了一个 TestSuite 对象,并使用 suite.addTest()
方法将三个测试方法分添加到 TestSuite 中。
然后,通过实例化 BeautifulReport(suite)
来生成漂亮的测试报告,并指定文件名、描述和报告保存目录。
最后,调用 report()
方法生成测试报告。
报告打开方式:找到路径,右键open,选择想打开的浏览器
查看报告
BeautifulReport(__init__)
构造函数:__init__(self, runner=None)
:初始化 BeautifulReport 对象,可以传入指定的 runner,默认使用 unittest 的 TextTestRunner。
add_test()
方法:add_test(self, test, report_title='Test Report')
:添加需要生成报告的测试套件,可以设置报告标题,默认为 "Test Report"。
report()
方法:report(filename='report.html', description='Test Report')
:生成测试报告,将结果保存到指定的文件中,默认为 "report.html"。 参数说明:
description
:报告描述信息,默认为 "Test Report"。filename
:要保存的文件名,默认为 "report.html"。BeautifulReportTestRunner 类(继承自 TextTestRunner):
问题:运行测试用例一切正常,只是没有生成测试报告,且main函数里的print函数也都无法打印出来。
因为用了unittest框架,pycharm 在运行测试用例的时候 默认是以unittest 框架来运行的,所以主函数的内容没有执行了。
需要改成用非unittest框架执行,就可以了,操作步骤如下:
编辑配置
可以看到有一个python配置和一个tests配置,下面这个就是用的unittest框架执行,我们需要吧要执行的文件改到上面的python里
添加,选择python
设置,选择需要得文件,ok,apply,ok
再去执行就可以了