一、Unittestest自带的测试报告
Unittestest自带的测试报告产生的是文本形式
项目结构:
(一)使用
import unittest
if __name__ == "__main__":
# 测试用例目录
test_case_path="..\TestCase"
# 加载测试用例
test_case_all = unittest.defaultTestLoader.discover(test_case_path, '*.py')
# 测试报告路径
report_path =r'..\Report\report.text'
with open(report_path,"a") as report:
runner = unittest.TextTestRunner(stream=report,verbosity=2)
runner.run(test_case_all)
(二)效果
(三)注意(一个坑)
出报告的py文件与用例py文件一定要分开单独写一个,就算是自己简单用也得分开,不然什么都看不到。
二、BeautifulReport模块产生测试报告
来自BeautifulReport,这种方法最好建立一个文件夹用于存放测试用例效果会很好,只要执行这个py文件就行
(一)使用
安装:pip install BeautifulReport
import unittest
from BeautifulReport import BeautifulReport
# 用例存放位置,把放用例的地址填上去填到用例的文件夹
test_case_path="..\TestCase"
# 用来测试报告存放位置
report_path='..\Report'
# 自定义测试报告名称
filename='测试报告'
#html里面报告汇总用例的名称
description='简单测试'
# 需要执行哪些用例,如果目录下的全部,可以改为"*.py",如果是部分带test后缀的,可以改为"*test.py"
#我这里运行全部的测试用例
pattern="*.py"
if __name__ == '__main__':
test_suite = unittest .defaultTestLoader.discover(test_case_path, pattern=pattern)
#unittest的一个方法,智能获取文件下面的case去跑
result = BeautifulReport(test_suite)
#只能绘制图表
result.report(filename=filename,description=description,report_dir=report_path)
#写入文件保存
(二)效果图
三、HTMLTestRunner
HTMLTestRunner不能使用pip指令安装,只能新建一个py文件,用于存放源代码
(一)源码及在Python3中的修改方法
HTMLTestRunner源码:
http://tungwaiyip.info/software/HTMLTestRunner_0_8_2/HTMLTestRunner.py
从链接获取的HTMLTestRunner源码,在python3中需要进行修改,因为python部分模块修改的文件名,或者调整了位置。
修改方法参考:https://www.cnblogs.com/snailgirl/p/8521519.html
另外:
TestProgram类下的:self.testRunner = HTMLTestRunner(verbosity=self.verbosity)
改为:self.testRunner = HTMLTestRunner(verbosity=1)
将self.stream.write(output.encode('utf8'))改为self.stream.write(output),若不行就改为self.stream.write(output.encode(encoding='utf-8')),我改的时候出现过第一次改为output不行,改为output.encode(encoding='utf-8')又能用的情况
改好之后,出现如下图所示,代表改浩了,可以使用
(二)HTMLTestRunner使用
项目结构:
HTMLTestRunner.py文件放在BaseMethod目录下
import unittest
from BaseMethod.HTMLTestRunner import HTMLTestRunner
if __name__ == "__main__":
# 测试用例目录
test_case_path="..\TestCase"
# 加载测试用例
test_case_all = unittest.defaultTestLoader.discover(test_case_path, '*.py')
# 测试报告路径
report_path = r'..\Report\report.html'
# report_path = r"D:\Git\Test_Framework\report\report.html"
with open(report_path,"wb") as report:
runner = HTMLTestRunner(stream = report,
title = "测试报告",
description = "系统登录测试用例执行")
runner.run(test_case_all)
效果:
HTMLTestRunner出具的HTML形式的报告一般需要美化,不然不太好看。