Web自動化測試項目(四)測試報告

測試報告生成

使用HTMLTestRunner 生成測試報告

本文使用的 HTMLTestRunner 來源於github:
https://github.com/githublitao/HTMLTestRunner_Chart
參考鏈接:
http://tungwaiyip.info/software/HTMLTestRunner.html
https://github.com/GoverSky/HTMLTestRunner_cn

  1. 把下載下來的HTMLTestRunner_Chart.py存放在utils目錄裏,並更名爲HTMLTestRunnerChart.py
  2. 在run_case目錄下創建run_login_case_report.py,測試登錄用例集並生成報告
├── run_case
│   ├── __init__.py
│   ├── module_path.py
│   ├── run_login_case.py
│   └── run_login_case_report.py
└── utils
    ├── __init__.py
    ├── HTMLTestRunnerChart.py
    ├── constants.py
    └── se_utils.py

修改HTMLTestRunnerChart.py

'
'
'
    def generateReport(self, test, result):
        report_attrs = self.getReportAttributes(result)
        generator = 'HTMLTestRunner %s' % __version__
        stylesheet = self._generate_stylesheet()
        heading = self._generate_heading(report_attrs)
        report = self._generate_report(result)
        self.path = os.path.splitext(self.stream.name)[0] + ".json"
        # 在這個方法下,添加下面一行代碼,用於存儲最近10次測試結果的Json
        self.path = self.path.rsplit('/', 1)[0] + '/WebUiTestRet.json'
'
'
'

run_login_case_report.py

import unittest

from module_path import *
from test_case.test_login import TestLoginCase
from utils.se_utils import Driver
from utils.HTMLTestRunnerChart import HTMLTestRunner

if __name__ == '__main__':
    cases = unittest.TestLoader().loadTestsFromTestCase(TestLoginCase)
    runner = HTMLTestRunner(
        title="測試報告名稱",
        description="詳細描述,例如測試的瀏覽器和環境",
        stream=open(report_path, "wb"),
        verbosity=2,
        retry=0,  #  retry,指定重試次數,如果save_last_try 爲True ,一個用例僅顯示最後一次測試的結果。
        save_last_try=True)
    runner.run(cases)
    # 所有用例運行完後關閉瀏覽器
    Driver.quit_driver()
    Driver.Driver = None

根據HTMLTestRunner_Chart要求爲test_login.py 增加fixture,以獲取用例失敗後的截圖

class TestLoginCase(unittest.TestCase):

    @classmethod
    def setUp(cls) -> None:
        cls.driver = Driver.get_driver()
`
`
`

小結

  • 根據Web自動化測試項目的流程,當你做到這裏的時候,已經基本可以滿足一般公司的Web自動化的需求




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章