zoukankan      html  css  js  c++  java
  • Selenium(Python)生成Html测试报告

    由于Python3已经不支持HTMLTestRunner了,

    无论是PyCharm还是pip都无法安装成功,

    所以只能去

    http://tungwaiyip.info/software/HTMLTestRunner_0_8_2/HTMLTestRunner.py

    手动下载:

    在网页空白处点击鼠标右键,

    选择另存为:

    为了适配Python3,

    作了部分修改,

    修改过后的文件我会在后面的博客中贴出来,

    把HTMLTestRunner.py文件放到Python3安装目录下的Lib文件夹里面;

    还有一个地方需要注意的是,

    Python3已经不支持file方法了,

    应该用open!

    新建TestCase.py:

    import unittest
    from selenium import webdriver
    from selenium.webdriver.support.wait import WebDriverWait


    class SearchTestCase(unittest.TestCase):

    def setUp(self):
    self.driver = webdriver.Firefox()
    self.driver.maximize_window()
    self.driver.get("https://www.baidu.com/")
    self.driver.implicitly_wait(15)

    def test_searchChina(self):
    """百度搜索中国的测试用例"""
    self.driver.find_element_by_xpath(".//*[@id='kw']").send_keys("中国")
    self.driver.find_element_by_xpath(".//*[@id='su']").click()

    WebDriverWait(self.driver, 15).until(lambda x: x.find_element_by_xpath(".//*[@id='1']/h3/a"))
    result = self.driver.find_element_by_xpath(".//*[@id='1']/h3/a").text

    self.assertEqual(result, "中国_百度百科")

    def tearDown(self):
    self.driver.close()
    self.driver.quit()

    if __name__ == '__main__':
    unittest.main()

    然后再新建HtmlReport.py:

    import HTMLTestRunner
    import unittest
    from time import strftime, localtime, time

    from TestCase import SearchTestCase


    suite = unittest.TestSuite()
    # 获取TestSuite的实例对象
    suite.addTest(SearchTestCase("test_searchChina"))
    # 把测试用例添加到测试容器中

    now = strftime("%Y-%m-%M-%H_%M_%S", localtime(time()))
    # 获取当前时间
    filename = now + "test.html"
    # 文件名

    fp = open(filename, "wb")
    # 以二进制的方式打开文件并写入结果
    runner = HTMLTestRunner.HTMLTestRunner(
    stream=fp,
    verbosity=2,
    title="测试报告的标题",
    description="测试报告的详情")

    runner.run(suite)

    fp.close()

    运行一把,

    会在当前工程的目录下生成html文件,

    打开之:

  • 相关阅读:
    js如何将字符串作为函数名调用函数
    js如何生成[n,m]的随机数
    UIMenuController,UIPasteboard:复制,粘贴详细解释
    python2.7和 python3.4但是不要
    Android IPC通信和AIDL技术应用
    可穿戴式智能设备,其潜在的安全问题?(上)
    CentOS安装KVM步骤虚拟机,绝对实用!
    Python于*args 和**kwargs使用
    uva 1556
    JSCover+WebDriver/Selenium获得JS 代码覆盖
  • 原文地址:https://www.cnblogs.com/yjlch1016/p/8468038.html
Copyright © 2011-2022 走看看