UI自動化實戰進階后續


前言

最近幾天因為回老家的緣故,暫時沒空學習和記錄,好不容易抽空那就趕緊開始后面的實戰。
前面我們已經基本完成了測試的框架,並且也有了PO設計模式,后面我們還缺少什么呢?做為自動化測試最主要的測試報告我們是不是還沒有,所以今天主要是要集成測試報告。

安裝

Unittest測試報告雖然沒有自帶的測試報告,但是已經有了第三方的測試報告HTMLTestRunner。不過它只支持python2,對於python3可能需要下載后修改文件部分地方進行適配。不過好在已經有人
也解決了這個問題,更新了HTMLTestRunner-python3版本
下載地址:https://pypi.org/project/HTMLTestRunner-Python3/#files
下載后解壓出一個HTMLTestRunner.py的包然后放在項目的lib目錄下

編碼

#run_test_report.py
import unittest
from lib.HTMLTestRunner import HTMLTestRunner
import os
import time

if __name__ == '__main__':
    path = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'test_blog_case')
    suite = unittest.defaultTestLoader.discover(path, pattern='test*.py')

    project_root = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
    report_dir = os.path.join(project_root, 'report')
    current_time = time.strftime("%Y-%m-%d_%H-%M-%S")
    report_abspath = os.path.join(report_dir, "HTMLReport_{}.html".format(current_time))
    with open(report_abspath, 'wb') as f:
        runner = HTMLTestRunner(stream=f,
                                title='自動化測試報告',
                                description='用例執行情況',
                                verbosity=2
                                )
        runner.run(suite)

運行

運行后自動生成一個測試報告的目錄,並且測試報告一並生成。這樣我們的測試框架就集成生成測試報告的能力了。

擴展

測試報告已經生成了,如果有追求完美的朋友那么我們可以替換一個更漂亮的測試報告模板,或者進行漢化。
如果能力強的請自行進行二次開發,那么后面的教程可以忽略。
下載地址: https://github.com/TesterlifeRaymond/BeautifulReport
下載后解壓到lib目錄下,然后調整上面的代碼

#run_test_report.py
import unittest
# from lib.HTMLTestRunner import HTMLTestRunner
from lib.BeautifulReport.BeautifulReport import BeautifulReport
import os
import time

if __name__ == '__main__':
    path = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'test_blog_case')
    suite = unittest.defaultTestLoader.discover(path, pattern='test*.py', top_level_dir=None)

    project_root = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
    report_dir = os.path.join(project_root, 'report')
    current_time = time.strftime("%Y-%m-%d_%H-%M-%S")
    # report_abspath = os.path.join(report_dir, "HTMLReport_{}.html".format(current_time))
    # with open(report_abspath, 'wb') as f:
    #     runner = HTMLTestRunner(stream=f,
    #                             title='自動化測試報告',
    #                             description='用例執行情況',
    #                             verbosity=2
    #                             )

    result = BeautifulReport(suite)
    result.report(filename=current_time +'自動化測試報告',
                                description='用例執行情況',
                                log_path=report_dir
                                )
    # runner.run(suite)

一份漂亮的中文測試報告就生成了。

WEBUI自動化測試框架主要的功能已經全部實現,后續的失敗重跑、失敗截圖、多線程運行等一系列的如虎添翼的功能暫時就不再學習了,需要的請自行查閱資料並實現。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM