- 在大神 findyou 和 boafantasy 两人的版本基础上,添加功能,并修复bug和优化细节
- 目前同时拥有无截图和有截图报告功能,通过参数
need_screenshot
开启截图功能- 生成的报告有饼图显示,测试结果比较直观
- findyou 大神版本:https://github.com/findyou/HTMLTestRunnerCN
- boafantasy 大神版本:https://github.com/boafantasy/HTMLTestRunnerCN
Version 1.3.0 -- Gelomen
- 增加初始化报告目录自定义
- 升级版本
- 优化命名
Version 1.2.0 -- Gelomen
- 优化用例说明显示
- 错误和失败报告里可以放入多张截图
unittest框架,setup()
初始化 ReportDirectory()
def setUp(self):
...
self.report_dir = ReportDirectory()
测试用例的断言操作,在抛出的Exception里执行截图操作,截图名字通过 print()
出来跟随异常一起抛出,注意:截图方法用的是selenium的,如需用其他方法截图,请自行到 HTMLTestReportCN.py
修改 get_screenshot()
方法,调用该方法则自动把截图附加到报告里。
def test1_find_input(self):
try:
self.browser.find_element_by_xpath("//input[@id='kw']")
except Exception:
self.report_dir.get_screenshot(self.browser)
raise
启动代码里,调用 create_dir()
,会根据时间创建文件夹,把截图和报告存入对应的文件夹
if __name__ == "__main__":
ReportDirectory().create_dir()
unittest.main()
初始化 ReportDirectory()
时可以传入 path=“自定义路径”
来自定义报告生成目录
def setUp(self):
...
self.report_dir = ReportDirectory(path="./report/")
注意:目录结构需要先创建好!且最好是相对路径,而不是用绝对路径
目前为止,在测试用例文件启动后,出现异常可以实现截图功能
新建 RunAllTests.py
,如何封装可以自行决定,主要需要注意的是:RunAllTests.py
存放的路径需要跟普通用例文件具有相同目录结构,以保证正常读取第4点
的报告路径
class RunAllTests(object):
def __init__(self):
self.test_case_path = "."
self.title = "自动化测试报告"
self.description = "测试报告"
def run(self):
test_suite = unittest.TestLoader().discover(self.test_case_path)
# 启动测试时创建文件夹并获取报告的名字
report_dir = HTMLTestReportCN.ReportDirectory()
report_dir.create_dir(title=self.title)
report_path = HTMLTestReportCN.GlobalMsg.get_value("report_path")
fp = open(report_path, "wb")
runner = HTMLTestReportCN.HTMLTestRunner(stream=fp, title=self.title, description=self.description, tester=input("请输入你的名字:"))
runner.run(test_suite)
fp.close()
if __name__ == "__main__":
RunAllTests().run()