您的位置:首页 > Web前端 > CSS

selenium之 输出报告,对HTMLTestRunner进行样式调整后的示例

2016-08-09 10:10 465 查看
更多关于python selenium的文章,请关注我的专栏:Python Selenium自动化测试详解

修改后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)


运行后产生报告如下图:



主要的修改有:

报告内容改成中文

简单调整下样式

原来报错信息太长会出现横向滚动条,改为折行显示

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

在每个class和testcase method第一行添加段落注释,会被当做对这个用例的描述,在报告中输出,这样报告看起来更清晰漂亮一些。

所有的控制台输出信息都会被捕捉并输出到报告中,所以适当直接用print输出一些辅助信息,能够让报告可读性更强

注释以及print的信息含中文,则要用unicode形式输出,即引号前加u的形式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息