欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python自动化测试(unittest)使用BeautifulReport和HTMLTestRunner生成HTML测试报告

程序员文章站 2024-03-21 22:35:28
...

HTML测试报告

HTML 测试报告就是执行完测试用例后以网页的方式显示执行的结果

HTML 生成报告的方式

1. BeautifulReport

安装

pip install BeautifulReport

先写测试用例, 基本测试用例介绍看上一篇unittest编写测试用例基本使用
看代码, 先创建一个test_unittest.py文件,用来编写测试用例


import unittest
from BeautifulReport import BeautifulReport

"""
编写测试用例
"""
class TestAdd(unittest.TestCase):

    def setUp(self):
        """
        方法名固定,在每个测试函数执行前,执行一次,多个测试函数,执行多次
        一般做初始化工作, 比如: 实例化一个浏览器、浏览器最大化、隐式等待设置等需要提前的操作
        :return:
        """
        print("测试函数前执行")

    def tearDown(self):
        """
        方法名固定,在每个测试函数执行后,执行一次
        一般做结束工作: 比如: 推出浏览器、关闭浏览器
        :return:
        """
        print("测试函数执行后 teardown")

    def test_add(self):
        a = 12
        print("-------- test_add 测试用例-------")
        b = 5
        self.assertEqual(a+b, 17, msg="两个数相加,如果不相同会报错")

    def test_sub(self):
        print("-------- test_sub 测试用例-------")
        a = 12
        b = 5
        self.assertNotEqual(a+b, 17, msg="两个数相加, 如果等于17会报错")

然后编写 执行文件

import unittest
from BeautifulReport import BeautifulReport

if __name__ == '__main__':
    """
    生成测试报告 BeautifulReport
    """
    # 先确定一个要搜索的路径
    test_dir = "./"
    # 然后创建集合对象
    dis = unittest.defaultTestLoader.discover(test_dir, pattern='test_*.py')

    runner = BeautifulReport(dis)
    runner.report(
        description="描述信息",
        filename="BeautifulReport"  # 生成测试报告的文件名
    )

运行后打开生成的的HTML

  • Python自动化测试(unittest)使用BeautifulReport和HTMLTestRunner生成HTML测试报告

HTMLTestRunner

编写执行文件,代码如下

import unittest
from HTMLTestRunner.HTMLTestRunner import HTMLTestRunner


if __name__ == '__main__':

    """
    生成测试报告
    """
    # 先确定一个要搜索的路径
    test_dir = "./"
    # 然后创建集合对象
    dis = unittest.defaultTestLoader.discover(test_dir, pattern='test_*.py')

    with open("test.html", 'w', encoding='utf-8') as f:

        runner = HTMLTestRunner(
            # 执行的文件
            stream=f,
            title="测试的标题",
            description="测试的描述信息"
        )

        runner.run(dis)

运行后打开生成的的HTML

  • Python自动化测试(unittest)使用BeautifulReport和HTMLTestRunner生成HTML测试报告