生成 HTMLTestRunner 测试报告失败的总结

# coding=utf-8
from selenium import webdriver
import unittest, time
import HTMLTestRunner  # 引入 HTMLTestRunner 包


class Baidu(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(10)
        self.base_url = "http://www.baidu.com/"
        self.verificationErrors = []

    # 百度搜索用例
    def test_baidu_search(self):
        driver = self.driver
        driver.get(self.base_url)
        driver.find_element_by_id("kw").send_keys("HTNMLTestRunner")
        driver.find_element_by_id("su").click()

    def tearDown(self):
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)


if __name__ == "__main__":
    # 测试套件
    testunit = unittest.TestSuite()
    # 添加测试用例到测试套件中
    testunit.addTest(Baidu("test_baidu_search"))
    # 定义个报告存放路径
    filename = r'.\result.html'
    fp = open(filename, 'wb')
    # 定义测试报告
    runner = HTMLTestRunner.HTMLTestRunner(
                    stream=fp,
                    title=u'百度搜索测试报告',
                    description=u'用例执行情况:')
    # 运行测试用例
    runner.run(testunit)
    # 关闭报告文件
    fp.close()

1.为什么我的代码运行成功了,但测试报告没有生成?

因为我一直是快捷键运行代码,用unittest来启动,就没执行自己的main,执行的是unittest的main。详情请参照:http://blog.csdn.net/xie_0723/article/details/50825310

解决方法:Run-Run-运行代码。或者alt+shift+f10-运行代码

2.上面所说的2中运行方式有什么不同呢?

     第一种,直接运行,执行的是unittest的man

     第二种,就从自己的main入口进入执行的

     更多详情请参照:http://www.ithao123.cn/content-6035445.html

3.我测试报告也正常生成了,但打开html的测试报告一片空白,这是为什么?

  因为你没关闭文件。

  解决方案:fp.close()

猜你喜欢

转载自blog.csdn.net/qq_42350970/article/details/86547953