unittest测试驱动之HTMLTestRunner.py

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unittest测试驱动之HTMLTestRunner.py相关的知识,希望对你有一定的参考价值。

对于自动化来说,测试报告是必须的,在敏捷化的团队中,团队中的成员需要自动化这边提供自动化的测试报告,来判断系统的整体质量以及下一步的测试策略。单元测试库生成测试输出到控制台的窗口上,但是这样的结果看起来比较费力,很显然,控制台日志的输出的信息并不是个好的注意,那么好的注意应该是生成html页面的测试报告,这样的报告看起来更加清晰,庆幸的是unittest的单元测试库扩展的HTMLTestRunner.py,可以生成html的自动化报告。

 

一、HTMLTestRunner.py

HTMLTestRunner是Python标准库中单元测试模块的扩展,它生成易于使用的html测试报告, HTMLTestRunner.py文件下载地址为:http://tungwaiyip.info/software/HTMLTestRunner.html,下载HTMLTestRunner.py文件后,把HTMLTestRunner文件放到C:\Python27\Lib的目录下即可。 运行cmd,输入python,导入import HTMLTestRunner,无任何的错误提示信息,就表示成功,见截图:

技术分享

 

HTMLTestRunner.py实现html的测试报告,具体见如下的测试实例代码:

#coding:utf-8

fromselenium import webdriver

fromtime import sleep,time,ctime

import unittest

fromPage import *

import threading

import HTMLTestRunner

 

class DemoPage(unittest.TestCase,BasePage.Page):

 

def setUp(self):

self.driver=webdriver.Firefox()

self.driver.implicitly_wait(30)

self.driver.maximize_window()

self.driver.get(‘http://www.baidu.com‘)

 

def testTitle(self,value=‘testData‘):

self.assertTrue(self.driver.title in self.getXmlData(value) )

 

def testUrl(self):

print self.driver.current_url

 

def tearDown(self):

self.driver.close()

self.driver.quit()

 

if__name__==‘__main__‘:

suite=unittest.makeSuite(DemoPage)

#定义自动化报告目录

filename=‘D:\\git\\PyCharm\\SeleniumHq\\Test-report\\Report.html‘

fp=file(filename,‘wb‘)

runner=HTMLTestRunner.HTMLTestRunner(

stream=fp,

title=u‘自动化测试报告‘,

description=u‘自动化测试报告‘

)

runner.run(suite)

 

执行成功后,自动化的测试报告在D:\\git\\PyCharm\\SeleniumHq\\Test-report目录下的Report.html,打开Report.html的文件,就可以看到如下的自动化测试报告的截图了:

技术分享

以上是关于unittest测试驱动之HTMLTestRunner.py的主要内容,如果未能解决你的问题,请参考以下文章

python 单元测试(unittest)

Python 数据驱动 unittest + ddt

Python+unittest+DDT实现的数据驱动测试

unittest测试数据驱动ddtbing

unittest测试数据驱动ddtbing

UnitTest与数据驱动及测试框架设计模式