新手学习使用 HtmlTestRunner 生成测试报告,发现在用单元测试框架的时候都没法生成测试报告,但是在不使用单元测试框架的时候是生成测试报告的,但是测试报告为空。查了好多资料都没解决。感觉跟我写的一样。。运行是没有问题的。。
源码如下:
#coding=utf-8
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import NoSuchElementException
import unittest,os,re,time
import HTMLTestRunner
class Baidu(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.base_url = "http://baidu.com"
self.verificationErrors = []
self.accept_next_alert = True
def test_baidu_search(self):
driver = self.driver
driver.get(self.base_url)
search = driver.find_element_by_id('kw')
search.clear()
search.send_keys("selenium webdriver")
driver.find_element_by_id('su').click()
sleep(2)
def test_baidu_set(self):
driver = self.driver
# 进入搜索设置页
driver.get(self.base_url + "/gaoji/preferences.html")
# 设置搜索框提示不显示
driver.find_element_by_id('s1_2').click()
sleep(2)
# 保存
driver.find_element_by_xpath("//form[@name='f2']/div/input").click()
sleep(2)
def tearDown(self):
self.driver.quit()
self.assertEqual([], self.verificationErrors)
def testSuite():
# 定义一个单元测试容器
testunit = unittest.TestSuite()
# 将测试用例添加到测试容器中
testunit.addTest(Baidu("test_baidu_search"))
testunit.addTest(Baidu("test_baidu_set"))
return testunit
if name == 'main':
now_time = time.strftime("%Y%m%d%H%M",time.localtime(time.time()))
print(now_time)
# 定义一个报告存放路径
filename = "testpages\" + now_time + "result.html"
fp = open(filename, 'wb')
# 定义测试报告
runner = HTMLTestRunner.HTMLTestRunner(
stream=fp,
title=u'百度搜索测试报告',
description=u"用例执行情况")
# 运行测试用例
runner.run(testSuite())
fp.close()