Python自动化测试学习(四)— 使用discover方法执行多个测试文件

1、说明

在上一篇博客中,只是集成到了单个测试文件中,最终目的是将集成多个测试文件。例如登录、注册等模块测试用例放在一起执行,使用discover()方法,找到指定目录下可匹配的测试文件,循环添加到测试套件中。

2、目录结构

3、对HtmlReport类,做出如下修改

# coding=utf-8
import unittest,time
import HTMLTestRunner


class HtmlReport:
        # 定义测试套件
        test_suite = unittest.TestSuite()
        # 测试的目录
        test_dir = "D:\\Programs\\pythonProject\\src\\testcase"
        '''
        通过discover方法,从执行的开始目录到子目录递归查找‘Test’开头的所有模块,并返回test_suit
        test_dir:测试用例所在目录
        pattern='Test*.py':匹配Test开头的py文件
        top_level_dir:测试模块的顶层目录,如果没有顶层目录,默认为None;
        '''
        discover = unittest.defaultTestLoader.discover(test_dir, pattern='Test*.py', top_level_dir=None)
        # 将找到的测试用例,循环加入测试套件中
        for test_case in discover:
            test_suite.addTests(test_case)



        # 指定报告存放位置
        now_time = time.strftime("%Y%m%d%H%M%S")
        file_path = "D:\\Programs\\pythonProject\\src\\report\\report_html\\" + now_time + ".html"
        fs = open(file_path, 'wb')
        runner = HTMLTestRunner.HTMLTestRunner(
            stream=fs,
            title="126邮箱测试报告",
            description="用例执行情况,如下图所示:"
        )

        runner.run(test_suite)
        fs.close()

4、查看测试报告

posted @ 2020-10-21 13:53  萧兮易  阅读(525)  评论(0编辑  收藏  举报