selenium输出报告,对HTMLTestRunner样式调整

来源:互联网 发布:布施无畏的淘宝店铺 编辑:程序博客网 时间:2024/04/30 02:41

因为觉得HTMLTestRunner原来的样式太难看,而且都是英文的报告,故而对其进行了一些小小的改动,使其输出中文报告,样式也用bootstrap做了点调整,下面用个示例展示下:

# -*- coding: utf-8 -*-import unittestclass 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)

主要的修改有:

  1. 报告内容改成中文
  2. 简单调整下样式
  3. 原来报错信息太长会出现横向滚动条,改为折行显示

同时使用时注意几个细节:

  • 在每个class和testcase method第一行添加段落注释,会被当做对这个用例的描述,在报告中输出,这样报告看起来更清晰漂亮一些。
  • 所有的控制台输出信息都会被捕捉并输出到报告中,所以适当直接用print输出一些辅助信息,能够让报告可读性更强
  • 注释以及print的信息含中文,则要用unicode形式输出,即引号前加u的形式
原创粉丝点击