首页 > 代码库 > APPIUM+Python+HTMLTestRunner

APPIUM+Python+HTMLTestRunner

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

 

一、HTMLTestRunner.py

 

首先,下载HTMLTestRuner.py文件。 
源地址:http://tungwaiyip.info/software/HTMLTestRunner.html 
这是针对Python2.7版本,那么对于Python3.x的使用,需要改动几处。http://www.bubuko.com/infodetail-529431.html。 
具体改动如下: 
第94行,将import StringIO修改成import io 
第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer= io.StringIO() 
第631行,将print >> sys.stderr, ‘\nTime Elapsed: %s‘ %(self.stopTime-self.startTime)修改成print(sys.stderr, ‘\nTimeElapsed: %s‘ % (self.stopTime-self.startTime)) 
第642行,将if not rmap.has_key(cls):修改成if notcls in rmap: 
第766行,将uo = o.decode(‘latin-1‘)修改成uo = e 
第775行,将ue = e.decode(‘latin-1‘)修改成ue = e 
第778行,将output = saxutils.escape(uo+ue),修改成output = saxutils.escape(str(uo)+str(ue)),

将上述几处改动,保存成功后,再将HTMLTestRunner.py放到C:\Python34\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=http://www.mamicode.com/‘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的文件,就可以看到如下的自动化测试报告的截图了:

技术分享

APPIUM+Python+HTMLTestRunner