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()