1.下载并安装HTMLTestRunner.py
(1) 下载:原始版本下载地址(支持python2.0): http://tungwaiyip.info/software/HTMLTestRunner.html
(2) 将HTMLTestRunner.py文件拷贝到Python\lib目录下
(3) 验证:能正常导入即可
2.代码实现测试报告实例:
(1) 创建testRuner.py,代码实例如下:
import time
import framework.public_functions as pf
import os
import HTMLTestRunner
#调用createTestSuite()方法
testunit = pf.create_test_suite()
#定义log日志文件的目录和名称
now = time.strftime('%Y-%m-%d_%H_%M_%S', time.localtime(time.time()))
#定义HTML报告的目录和名称
filePath = os.path.join(os.path.dirname(__file__), '../result/report/').replace('\\', '/')
fileName = filePath + now + "_result.html"
fp = open(fileName, "wb")
#设置HTML报告的title和description信息
runner = HTMLTestRunner.HTMLTestRunner(
stream = fp,
title = u'RDIS测试报告',
description = u'用例执行情况:')
#启动测试套件
runner.run(testunit)
fp.close()
(2) 创建测试组套函数:create_test_suite()
- TestLoader 类中提供的discover()方法可以自动识别测试用例
- discover(start_dir,pattern=‘test*.py’,top_level_dir= None)
找到指定目录下所有测试模块,并可递归查到子目录下的测试模块,只有匹配到文件名时才加载 start_dir:要测试的模块名或测试用例目录
pattern=‘test*.py’:表示用例文件名的匹配原则。此处匹配以“test”开头的.py 类型的文件,* 表示任意多个字符
top_level_dir= None 测试模块的顶层目录,如果没有顶层目录,默认为None
代码实例如下:
#region 其它操作
# 创建测试套件
def create_test_suite():
# 测试用例存放位置
test_case_dir = os.path.join(os.path.dirname(__file__), '../testuits').replace('\\', '/')
#test_case_dir = 'D:\\Work\\PythonAutomation\\RDIS\\testuits\\'
test_unit = unittest.TestSuite()
# discover 方法定义
test_suites = unittest.defaultTestLoader.discover(test_case_dir, pattern='test*.py', top_level_dir=None)
# discover 方法筛选出来的用例,循环添加到测试套件中
for test_suite in test_suites:
for test_case in test_suite:
test_unit.addTests(test_case)
return test_unit
# endregion
3.查看测试报告
选中报告—右键“Open in Browser”—选择浏览器打开报告
报告模板:
4.遇到的问题:
在执行HTMLTestRunner时,报错AttributeError: ‘module’ object has no attribute ‘HTMLTestRunner’ 如图:
解放方法:重新从官网下载了HTMLTestRunner.py,能正常导入即可。