先上代码再解释:

import time
import unittest
import HTMLTestRunner

suite = unittest.TestSuite()
tests = unittest.defaultTestLoader.discover("F:/bilibili/python_selenium"
,pattern="unitTest*.py") //这里的意思是默认加载寻找F:/bilibili/python_selenium目录下以unitTest开头的py文件
suite.addTests(tests)

now = time.strftime("%Y%m%d %H%M%S",time.localtime())
reportFile = now+"_Result.html"
file = open(reportFile,"wb")//“wb”就是读写
runner = HTMLTestRunner.HTMLTestRunner(stream=file,title="测试报告",description="测试描述")
runner.run(suite)

一.导入HTMLTestRunner.py文件
注意,这里的HTMLTestRunner是Python标准库的unittest模块的扩展,既不能通过命令终端‘pip install HTMLTestRunner’安装,也不能直接在Pycharm的setting中配置,需要去自行下载。
下载链接:http://tungwaiyip.info/software/HTMLTestRunner.html
进入页面之后,右键“链接另存为…”,下载完成后导入到 python 中的 Lib /site-packages文件夹中

二.修改HTMLTestRunner.py文件,如果你下载的是python2版本的
【如果不修改,运行之后就会报“ModuleNotFoundError: No module name ‘StringIO’”这个错误】

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

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

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

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

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

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

三.运行之后,测试报告会自动生成

右击HTML文件,如下图即可查看

本文地址:https://blog.csdn.net/qq_43096786/article/details/110927663