html技术测试报告,使用 HTMLTestRunner 自动生成测试报告

format,png

在做自动化测试时,我们通常希望以可视化的形式来展示测试结果,这时候 HTMLTestRunner 就有很大的用武之地了。它是 Python 标准库中 unittest 模块的一个扩展,可用于生成 HTML 测试报告。

1

配置  HTMLTestRunner

虽然 HTMLTestRunner 很强大,但有个小问题,它是基于 Python2 的,所以无法直接在 Python3 中直接使用(网上下载的很多都用不了)。

那就升级一下吧,由于文件内容过多,所以就不直接贴代码了,点击下面的链接直接下载(已验证通过,可直接使用):

戳我:https://github.com/Waleon/HTMLTestRunner

下载 HTMLTestRunner.py 之后,将其拷贝至 Python 的安装目录下,例如:/usr/local/lib/python3.7/dist-packages/,然后就可以使用了。

2

测试脚本

编写一个简单的示例脚本 - autotest.py,看是否能自动生成测试报告:

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

import unittest

import HTMLTestRunner

import time

class TestDemo(unittest.TestCase):

"""测试用例"""

def setUp(self):

print('========== begin ==========')

def test_success(self):

self.assertEqual(1 + 1, 2)

def test_fail(self):

self.assertEqual(1 + 1, 10)

def test_error(self):

self.assertEqual(x, 1024)

def tearDown(self):

print('========== end ==========')

if __name__ == '__main__':

# 构造测试集

suite = unittest.TestSuite()

# 添加测试用例

suite.addTest(TestDemo("test_success"))

suite.addTest(TestDemo("test_fail"))

suite.addTest(TestDemo("test_error"))

# 报告路径

date_time = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))

report_abspath = 'report_' + date_time + '.html'

# 执行测试

with open(report_abspath, 'wb') as f:

runner = HTMLTestRunner.HTMLTestRunner(

stream=f,

title='TestDemo unit test',

description='TestDemo report output by HTMLTestRunner.'

)

runner.run(suite)

3

验证一下

执行脚本,进行验证:

$python3 autotest.py

不出意外,这时会生成一个后缀为 .html 的文件,这就是我们的测试报告,打开来看看:

format,png

像标题、描述、日期等基本信息都有,当然执行的用例也少不了,一共有 3 条,一条成功,一条失败,一条错误。

如果要查看对应用例的详细信息,可以点击蓝色的超链接按钮,尤其在有失败和错误的情况下,这个功能非常好用,能帮助我们快速定位问题!

·END·

format,png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值