zoukankan      html  css  js  c++  java
  • 关于python-生成HTMLTestRunner测试报告

    一、HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展,它可以生成 HTML的 测试报告。 
    1.首先要下 HTMLTestRunner.py 文件,将下载的文件放入…pythonLib目录下 

     

    2.在IDLE里引入 HTMLTestRunner 包,如果没有报错(红),则说明添加成功,如下图: 

     二、all_tests.py

    ================

    #coding=utf-8
    '''
    Project:通过测试套件执行多个测试用例,并生成报告
    '''
    import HTMLTestRunner
    import unittest
    import os,time

    test = "D:\Program Files\PyDemo\unit\package\test_case"
    def createsuite1():
    testunit=unittest.TestSuite()
    discover=unittest.defaultTestLoader.discover(test,pattern='start_*.py',top_level_dir=None)
    for test_suite in discover:
    for test_case in test_suite:
    testunit.addTests(test_case)
    print(testunit)
    return testunit
    now = time.strftime("%Y-%m-%d %H_%M_%S",time.localtime())
    filename="D:\Program Files\PyDemo\unit\package\"+now+"_result.html"
    fp=open(filename,'wb')

    runner=HTMLTestRunner.HTMLTestRunner(
    stream=fp,
    title=u'搜索功能测试报告',
    description=u'用例执行情况:')

    runner.run(createsuite1())
    #关闭文件流,不关的话生成的报告是空的
    fp.close()

    ================

    test目录下的测试用例

    start_baidu.py

    ----------------------------

    # coding=utf-8
    '''
    Project:登录百度测试用例
    '''
    from selenium import webdriver
    import unittest, time

    class BaiduTest(unittest.TestCase):
    def setUp(self):
    self.driver = webdriver.Chrome()
    self.driver.implicitly_wait(30) #隐性等待时间为30秒
    self.base_url = "https://www.baidu.com"

    def test_baidu_search(self):
    u"""百度搜索"""
    driver = self.driver
    driver.get(self.base_url + "/")
    driver.find_element_by_id("kw").clear()
    driver.find_element_by_id("kw").send_keys("unittest")
    driver.find_element_by_id("su").click()
    time.sleep(3)
    title=driver.title
    self.assertEqual(title, u"unittest_百度搜索")

    def test_baidu_set(self):
    u"""百度设置"""
    driver=self.driver
    driver.get(self.base_url+"/gaoji/preferences.html")
    m=driver.find_element_by_name("NR")
    time.sleep(1)
    m.find_element_by_xpath("//option[@value='50']").click()
    time.sleep(1)

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

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

    ----------------------------

    三、运行all_tests.py生成的报告如下

     

  • 相关阅读:
    Android随笔
    Android随笔
    Android随笔
    Android随笔
    Android随笔
    Android随笔
    Android随笔
    Android随笔
    Android随笔
    Codeforces Round #551题解
  • 原文地址:https://www.cnblogs.com/wanglei-xiaoshitou1/p/9139562.html
Copyright © 2011-2022 走看看