先下载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)