自动化测试--自动化测试报告
一、准备
1、本节用到的模块——HTMLTestRunner
1)下载:下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html
鼠标右键→目标另存为,保存到本地。
2)安装:将下载的HTMLTestRunner.py文件复制到Python安装目录下即可
...\Python36\Lib
3)验证:在Python交互模式下引入HTMLTestRunner模块,如系统没有报错,则说明添加成功
2、修改HTMLTestRunner
因为HTMLTestRunner是基于Python2开发的,如果在Python3环境下使用,需要对其部分内容进行修改。使用notepad++打开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, ‘\nTimeElapsed: %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
测试代码
from selenium import webdriver
from HTMLTestRunner import HTMLTestRunner
import unittest, time
# d=webdriver.Firefox()
# d.get("http://www.baidu.com")
class BaiduIdeTest(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
self.base_url = "https://www.baidu.com/"
def test_baidu_ide(self):
driver = self.driver
driver.get(self.base_url)
driver.find_element_by_id("kw").clear()
driver.find_element_by_id("kw").send_keys("HTMLTestRunner")
driver.find_element_by_id("su").click()
time.sleep(5)
self.assertEqual("HTMLTestRunner_百度搜索", driver.title)
print(driver.title)
def tearDown(self):
self.driver.quit()
if __name__ == "__main__":
# 构造测试套件
testsuit = unittest.TestSuite()
testsuit.addTest(BaiduIdeTest("test_baidu_ide"))
# 定义测试报告存放路径
fp = open('./result.html', 'wb')
# 定义测试报告
runner = HTMLTestRunner(stream=fp,
title='自动化测试报告',
description='用例执行情况:')
runner.run(testsuit)
# 关闭测试报告
fp.close()
运行结果: