HTMLTestRunner是Python标准库unittest单元测试框架的一个扩展,它生成易于使用的HTML测试报告。HTMLTestRunner是在BSD许可证下发布的。
下载地址如下:
http://tungwaiyip.info/software/HTMLTestRunner.html
这个扩展非常简单,只有一个HTMLTestRunner.py文件,选中后单击鼠标右键,在弹出的快捷菜单中选择目标另存为,将它保存到本地。安装方法也很简单,将其复制到Python安装目录下即可。
Windows:将下载的文件保存到...\Python35\Lib目录下。
在Python交互模式下引入HTMLTestRunner模块,如果系统没有报错,则说明添加成功。
import HTMLTestRunner
一、修改HTMLTestRunner
因为HTMLTestRunner.py是基于Python2开发的,为了使其支持Python3的环境,需要对其中的部分内容进行修改。下面通过编辑器打开HTMLTestRunner.py文件。
#第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, '\nTime Elapsed: %s' % (self.stopTime-self.startTime))
#第642行
if not rmap.has_key(cls):
修改为:
if not cls in rmap:
#第766行
uo=o.decode('latin-1')
修改为:
uo=e
#第772行
ue=e.decode('latin-1')
修改为:
ue=e
二、生成HTML测试报告
下面继续以test_baidu.py文件为例生成HTMLTestRunner测试报告。
test_baidu.py
from selenium import webdriver
import unittest
from selenium.webdriver.support.wait import WebDriverWait
class SearchTestCase(unittest.TestCase):
def setUp(self):
self.driver=webdriver.Chrome()
self.driver.maximize_window()
self.driver.get("http://www.baidu.com")
self.driver.implicitly_wait(15)
def test_serchChina(self):
"""百度搜索中国的测试用例""