自动生成接口自动化报告
前期要导入HTMLTestrunner模块,如果没有HTMLTestrunner模块的话,可以百度搜索下载下来。
#!/usr/bin/env python3 # -*-coding:utf-8-*- # __author__: hunter import time from HTMLTestRunner import HTMLTestRunner # 导入HTMLTestRunner模块 import unittest # 把discover加载测试用例的过程封装到一个函数中 def allCase(): case_dir = 'D:/hunter_/interfaceTest/interface/case' # 定义测试用例所在路径 suite = unittest.TestSuite() # 定义一个测试套件 discover = unittest.defaultTestLoader.discover(case_dir, pattern='test_*.py', top_level_dir=None) """ 1、case_dir即测试用例所在目录 2、patten='test_*.py' : 表示用例文件名的匹配规则,“*”表示任意多个字符,这里表示匹配所有以test_开头的文件 3、top_level_dir=None : 测试模块的顶层目录。如果没顶层目录(也就是说测试用例不是放在多级目录中),默认为None """ # discover方法筛选出来的用例,循环添加到测试套件中 for test_suit in discover: for test_case in test_suit: suite.addTests(test_case) print(suite) '''直接加在discover''' return suite if __name__ == '__main__': allsuit = allCase() # 实例化 now = time.strftime("%Y-%m-%d %H-%M-%S") # 显示当时的时间 filename = 'D:/hunter_/interfaceTest/interface/report/' + now + '_result.html' # 测试报告的路径+当时的时间+测试报告名称 fp = open(filename, 'wb') # 打开文件,创建测试报告HTML文件,此时还是空文件;w是写入模式,b代表的是二进制模式(pickle储存模式默认是二进制模式) runner = HTMLTestRunner(stream=fp, title='接口测试报告', description='Implementation Example with') # 初始化一个HTMLTestRunner实力对象,用来生成报告
runner.run(allsuit) # 运行测试套件
生成的测试报告
代码能力优秀的话,可以对HTMLTestrunner模块进行优化修改,可以让测试报告更加完美;同时也可以增加错误截图的功能
来源:博客园
作者:逗芽
链接:https://www.cnblogs.com/hemingwei/p/11571008.html