1. 程式人生 > 實用技巧 >Python自動化測試學習(四)— 使用discover方法執行多個測試檔案

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、檢視測試報告