在讲解之前先跟我做一个简单的例子。此博文在上博文中继续开发。接上博文:https://blog.csdn.net/songlh1234/article/details/102657004
废话少说,进入正题:
之前在使用Python+unittest写框架的时候,针对报告这块一直都在使用HTMLTestrunner。HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展,它可以生成 HTML的 测试报告。但是最近又发现他的升级版,感觉样式界面更好友。下面简单的分享一下使用技巧。
第一步,下载BeautifulReport。https://github.com/TesterlifeRaymond/BeautifulReport,大家也可以从提供的官方文档中查看使用帮助。
第二步, 下载成功后,我们把解压后的文件夹放到Python安装目录中的site-packages/中
1.where python一下,看一下我的Python安装到了哪
2.进入目录放进去
3.然后我们就可以正常使用了
4.如果使用中发现引用时报错,或者引用后运行报错。可以尝试将BeautifulReport文件夹中的BeautifulReport.py文件放到Lib下,再尝试引用或者运行。
第三步,编写代码,使用BeautifulReport来生成漂亮的测试报告,代码修改如下:
# coding:utf-8
import unittest
import readConfig
import os
from BeautifulReport import BeautifulReport
# 用例路径
#case_path = os.path.join(os.getcwd(), "case", 'blog')
# 报告存放路径
report_path = os.path.join(os.getcwd(), "report")
path = readConfig.GetPath().get_case_path()# 因为这个拿到的是一个list,所以我们应该循环
top_level_dir = r'C:\Users\songlihui\PycharmProjects\temp20191015\case'
print('report_path', report_path)
print('path111', path)
def all_case():
discover_list = []
# 循环
for case_path in path:
discover = unittest.defaultTestLoader.discover(case_path, pattern="test*.py", top_level_dir=top_level_dir)
print(discover)
discover_list.append(discover)
return discover_list
if __name__ == "__main__":
for discovers in all_case():
run = BeautifulReport(discovers)
run.report(description='Beautiful Report', filename='report.html', log_path=report_path)
然后运行发现又报错了:
仔细分析,发现。虽然已经将 BeautifulReport放到Python安装目录中的site-packages/中,但是在我现在已经打开的工程中并没有衔接上,在site-packages/中并没有找到我们放的BeautifulReport文件夹;
然后我们就再放一次,复制BeautifulReport文件夹到上面截图的site-packages/中
然后我们再来运行,看到了如下结果,然后我们进入到report下,看到生成了一个report.html的文件:
打开report.html,我们看到了漂亮的报告