jszy 2019-10-19
测试报告
生成HTML测试报告
下载后,把HTMLTestRunner.py 文件复制到Python 安装路径下的lib文件夹中即可。
在python3中用HTMLTestRunner.py报importError“:No module named ‘StringIO‘解决办法
原因是官网的是python2语法写的,看官手动把官网的HTMLTestRunner.py改成python3的语法。修改内容:
第94行,将import StringIO修改成import io 第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer = io.StringIO() 第642行,将if not rmap.has_key(cls):修改成if not cls in rmap:
第631行,将print >> sys.stderr, ‘\nTime Elapsed: %s‘ % (self.stopTime-self.startTime)修改成print(sys.stderr, ‘\nTime Elapsed: %s‘ % (self.stopTime-self.startTime))
第766行,将uo = o.decode(‘latin-1‘)修改成uo = e 第772行,将ue = e.decode(‘latin-1‘)修改成ue = e
from selenium import webdriver#导入浏览器的驱动包
import time#导入时间包
import unittest#导入单元测试包
from HTMLTestRunner import HTMLTestRunner#导入生成HTML报告的包
class Baidu(unittest.TestCase):
def test_baidu_search(self):
driver=webdriver.Firefox()
driver.maximize_window()
driver.get(‘http://www.baidu.com‘)
driver.find_element_by_id(‘kw‘).send_keys(‘selenium‘)
driver.find_element_by_id(‘su‘).click()
time.sleep(3)
driver.quit()
testunit=unittest.TestSuite()#生成单元测试流程
testunit.addTest(Baidu("test_baidu_search"))#加载测试用例
fp=open(‘D:\\test\\unittest.html‘,‘wb‘)#创建测试报告,以写的方式存入某个路径
runner=HTMLTestRunner(
stream=fp,
title="百度搜索测试",
description="用例执行情况:"
)
runner.run(testunit)
fp.close()