Python+Selenium学习--自动生成HTML测试报告

前言   

        在脚本运行完成之后,除了在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):

猜你喜欢

转载自www.cnblogs.com/uniquefu/p/9754723.html