1. 程式人生 > >selenium之 輸出報告,對HTMLTestRunner進行樣式調整後的示例

selenium之 輸出報告,對HTMLTestRunner進行樣式調整後的示例

修改後HTMLTestRunner下載連結:下載連結

因為覺得HTMLTestRunner原來的樣式太難看,而且都是英文的報告,故而對其進行了一些小小的改動,使其輸出中文報告,樣式也用bootstrap做了點調整,下面用個示例展示下:

# -*- coding: utf-8 -*-
import unittest


class ExampleCase1(unittest.TestCase):
    u'''此class包含兩個用例:add - ok, minus - FAIL'''
    def setUp(self):
        self.a = 4
        self.b = 3
def test_add(self): u'''用例1,add,此用例成功通過''' self.assertEqual(self.a + self.b, 7) def test_minus(self): u'''用例2,minus,此用例執行失敗,4-3!=2''' print u'中文xxxxxxxxxxxxxxxxxxxx' self.assertEqual(self.a - self.b, 2) class ExampleCase2(unittest.TestCase): u'''此class包含一個用例:plus - ERROR'''
def setUp(self): self.a, self.b = 4, 3 def test_plus(self): u'''用例3,plus,此用例執行出錯,因為c未定義''' self.assertEqual(self.a * self.b, c) class ExampleCase3(unittest.TestCase): u'''此class包含一個用例:divide - ok''' def setUp(self): self.a, self.b = 4, 2 def test_devide
(self):
u'''用例4,divide,此用例執行成功''' self.assertEqual(self.a / self.b, 2) if __name__ == '__main__': from HTMLTestRunner import HTMLTestRunner report_title = u'Example用例執行報告' desc = u'用於展示修改樣式後的HTMLTestRunner' report_file = 'D:\\ExampleReport.html' testsuite = unittest.TestSuite() testsuite.addTest(ExampleCase1("test_add")) testsuite.addTest(ExampleCase1("test_minus")) testsuite.addTest(ExampleCase2("test_plus")) testsuite.addTest(ExampleCase3("test_devide")) with open(report_file, 'wb') as report: runner = HTMLTestRunner(stream=report, title=report_title, description=desc) runner.run(testsuite)

執行後產生報告如下圖:
ExampleReport

主要的修改有:

  1. 報告內容改成中文
  2. 簡單調整下樣式
  3. 原來報錯資訊太長會出現橫向滾動條,改為折行顯示

同時使用時注意幾個細節:

  • 在每個class和testcase method第一行新增段落註釋,會被當做對這個用例的描述,在報告中輸出,這樣報告看起來更清晰漂亮一些。
  • 所有的控制檯輸出資訊都會被捕捉並輸出到報告中,所以適當直接用print輸出一些輔助資訊,能夠讓報告可讀性更強
  • 註釋以及print的資訊含中文,則要用unicode形式輸出,即引號前加u的形式