生成html测试报告

本文介绍了如何在Python3环境下使用HTMLTestRunner模块生成测试报告。由于Python3与Python2的差异,需要对HTMLTestRunner源码进行相应修改,包括import语句、方法调用等。在修改完成后,将文件保存并放入Python库文件夹,然后创建一个Py文件,编写批量执行测试的方法,通过调用test_run方法来生成HTML格式的测试报告。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先下载HTMLTestRunner模块https://pypi.org/project/HTMLTestRunner/

注意python2和python3有所不同如果是python2可以直接用如果是python3需要一些修改python3把一些模块的名称更改了一下

第94行,将import StringIO修改成import io

第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer = io.StringIO()

第642行,将if not rmap.has_key(cls):修改成if not cls in rmap:

第766行,将uo = o.decode(‘latin-1’)修改成uo = e

第775行,将ue = e.decode(‘latin-1’)修改成ue = e

第631行,将print >> sys.stderr, ‘\nTime Elapsed: %s’ % (self.stopTime-self.startTime)修改成print(sys.stderr, ‘\nTime Elapsed: %s’ % (self.stopTime-self.startTime))

每次修改后都要对HTMLTestRunner.py保存一下。将文件放入的LIB文件夹下

在这里插入图片描述
然后新建一个Py文件 写一个批量执行的方法

import unittest
import os

def alltest():
    suite = unittest.TestLoader().discover(
        start_dir=os.path.dirname(__file__),
        pattern='test_*.py',
        top_level_dir=None
    )
    return suite

在主方法中 写一个执行test_run方法来创建测试报告

import unittest
from base.metho import Method
import HTMLTestRunner
import os
from base.alltest import *
class ylmy(unittest.TestCase):
    def setUp(self) :
        self.ojb = Method()

    def test_01(self):
        '''首页'''
        r = self.ojb.post(1)
        self.assertEqual(r.json()['msg'],'获取成功')

    def test_run(self):
        fp = os.path.join(os.path.dirname(__file__),'HTMLruuner.html')
        HTMLTestRunner.HTMLTestRunner(
            stream=open(fp,'wb'),
            title='自动化测试报告',
            description='自动化测试报告详细信息').run(alltest())

if __name__ == '__main__':
    unittest.main(verbosity=2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值