前言
在脚本运行完成之后,除了在log.txt 文件看到运行日志外,我们更希望能生一张漂亮的测试报告来展示用例执行的结果。
HTMLTestRunner 是Python 标准库的unittest 模块的一个扩展。它生成易于使用的HTML 测试报告。HTMLTestRunner 是在BSD 许可证下发布。
首先要下HTMLTestRunner.py 文件(百度自行搜索)。
代码
#!/usr/bin/env python # -*- codinfg:utf-8 -*- ''' @author: Jeff LEE @file: test_baidu.py @time: 2018-07-06 14:07 ''' import time,os import unittest from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains from test_case import HTMLTestRunner class TestBaiDu(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox() # 添加智能等待 self.driver.implicitly_wait(30) self.base_url = 'https://www.baidu.com/' def tearDown(self): self.driver.quit() def test_baidu_search(self): u'''百度搜索''' driver=self.driver driver.get(self.base_url) driver.find_element_by_id('kw').send_keys('uniquefu') driver.find_element_by_id('su').click() time.sleep(3) # driver.close() def test_baidu_set(self): u'''百度设置''' driver = self.driver driver.get(self.base_url) # 进入搜索设置页面 elment = driver.find_element_by_link_text('设置') ActionChains(driver).move_to_element(elment).perform() driver.find_element_by_link_text('搜索设置').click() time.sleep(5) # 修改设置 driver.find_element_by_id('s1_2').click() time.sleep(5) # 保存设置 driver.find_element_by_link_text('保存设置').click() # 获取网页上的警告信息并接收警告信息 alert = driver.switch_to_alert().accept() time.sleep(3) # driver.close() if __name__ == '__main__': PATH = lambda p: os.path.abspath( os.path.join(os.path.dirname(__file__), p) ) # 定义个报告存放路径,支持相对路径 report = PATH('Report.html') with open(report, 'wb') as f: testunit = unittest.TestSuite() testunit.addTest(unittest.makeSuite(TestBaiDu)) runner = HTMLTestRunner.HTMLTestRunner(f, verbosity=2, title='百度自动化测试报告--uniquefu', description='百度自动化测试报告') runner.run(testunit)
运行结果(自动生成Report.html):