python3.x版本,下载安装HTMLTestRunner和使用(支持生成饼图)

HTMLTestRunner 是 unittest 的一个扩展,它可以生成易于使用的 HTML 测试报告。
HTMLTestRunner 是在 BSD 许可证下发布的。

  1. HTMLTestRunner 的下载和安装:
    下载:这里为大家提供我的百度网盘的分享地址下载(HTMLTestRunner.py文件已做优化,增加饼图显示):
    链接: https://pan.baidu.com/s/1JoIjPoZwv9w9cv0VM35fTw
    提取码: 5swi

  2. 安装:
    HTMLTestRunner 的使用非常简单,它是一个独立的 HTMLTestRunner.py 文件,既可
    以把它当作 Python 的第三方库来使用,也可以将把它当作项目的一部分来使用。只需要把HTMLTestRunner.py 文件放在python的安装目录下即可,如:E:\install\python\Lib
    在这里插入图片描述
    打开 Python Shell,验证安装是否成功:
    在这里插入图片描述
    如果没有报错,则说明安装成功。

  3. 使用:
    HTMLTestRunner 类的部分实现,主要看__init__()初始化方法的参数:

    • stream:指定生成 HTML 测试报告的文件,必填。
    • verbosity:指定日志的级别,默认为 1。如果想得到更详细的日志,则可以将参数 修改为 2。
    • title:指定测试用例的标题,默认为 None。
    • description:指定测试用例的描述,默认为 None
      执行测试用例,生成测试报告demo实现:
      项目目录:
      在这里插入图片描述
      Tips:echarts.min.js组件下载链接:https://echarts.apache.org/zh/download.html

在case目录下,创建一个test_baidu.py文件,源码如下:

# 粥粥yan
# 开发时间:2021/7/16 14:36
# coding:utf-8
import unittest
from time import sleep
from selenium import webdriver

class TestBaidu(unittest.TestCase):
    """ 百度搜索测试 """

    # 类执行前调用
    @classmethod
    def setUpClass(cls):
        cls.driver = webdriver.Chrome()
        cls.base_url = "https://www.baidu.com"

    # 封装百度搜索方法
    def search_result(self, search_key):
        self.driver.get(self.base_url)
        self.driver.find_element_by_id('kw').send_keys(search_key)
        self.driver.find_element_by_id('su').click()
        sleep(5)

    def test_search_key_selenium(self):
        """" 搜索关键字:selenium """
        search_key = 'selenium'
        self.search_result(search_key)
        # 虽然两个用例断言的结果一样,但是不建议断言放公共方法中,断言放测试用例中看的会更直观,而且有的测试用例虽然测试步骤一样,但是断言的结果未必一致
        self.assertEqual(self.driver.title, search_key+'_百度搜索')

    def test_search_key_unittest(self):
        """" 搜索关键字:unittest """
        search_key = 'unittest'
        self.search_result(search_key)
        self.assertEqual(self.driver.title, search_key + '_百度搜索')
        # 类结束执行调用

    def test_search_key_html(self):
        """" 搜索关键字:html """
        search_key = 'html'
        self.search_result(search_key)
        self.assertEqual(self.driver.title, search_key + '_error')
        # 类结束执行调用

    def test_search_key_python(self):
        """" 搜索关键字:python """
        search_key = 'python'
        self.search_result(search_key)
        self.assertEqual(self.driver.title, search_key + '__error2')

    # 类结束执行调用
    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()

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

在test_selenuim_unittest目录下创建一个执行多个测试文件的run_test.py文件,源码如下:

'''
如何执行多个测试文件呢?
unittest中的TestLoader类提供的discover()方法可以从多个文件中查找测试用例。
discover(start_dir,pattern='test*.py',top_level_dir=None)

start_dir :待测试的模块名或测试用例目录。
pattern='test*.py' :测试用例文件名的匹配原则。此处匹配文件名以“test”开头
的“.py”类型的文件,星号“*”表示任意多个字符。
top_level_dir=None:测试模块的顶层目录,如果没有顶层目录,则默认为 None。
'''

import unittest
import HTMLTestRunner
import time

test_dir = './case'
suits = unittest.defaultTestLoader.discover(test_dir, pattern='test*.py')

if __name__ == '__main__':
    # 使用TextTestRunner 生成测试报告
    # runner = unittest.TextTestRunner()

    # 生成html格式的测试报告
    now_time = time.strftime("%Y%m%d_%H%M%S")
    fp = open('./reports/' + now_time + '_result.html', 'wb')
    runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title='百度搜索测试报告', description="运行环境:Windows 10, Chrome 浏览器")
    runner.run(suits)
    fp.close()

执行run_test.py文件:
在这里插入图片描述

生成的html测试报告:
在这里插入图片描述
打开html报告查看结果如下:
在这里插入图片描述
原创内容,转载请声明出处!

  • 10
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值