BeautifulReport--适用于unittest自动化测试的可视化报告
安装:
因为是由大神分享的,可以直接在github<https://github.com/TesterlifeRaymond/BeautifulReport>上下载 git clone git@github.com:TesterlifeRaymond/BeautifulReport.git download后,需要把包放到 D:\python3.6.5\Lib\site-packages 目录下,以备调用;

使用:
和HTMLTestRunner.py在运行case上稍有不同
import os
import time
import unittest
from BeautifulReport import BeautifulReport
from common.logger import Log
# from common.HTMLTestRunnerCN import HTMLTestRunner
from common import readConfig now = time.strftime('%Y-%m-%d %H-%M-%S') def add_case(case_path):
"""加载所有的测试用例"""
discover = unittest.defaultTestLoader.discover(case_path, pattern='test*.py', top_level_dir=None) # 定义discover方法的参数
Log().info('测试用例:%s' % discover)
# HTMLTestRunner
# testUnit = unittest.TestSuite()
# discover方法筛选出来的用例,循环添加到测试套件中
# for test_suite in discover:
# for test_case in test_suite:
# testUnit.addTests(test_case)
# return testUnit # BeautifulReport
return discover def run_case(all_case, report_path):
"""执行所有测试用例,并把结果写入报告"""
# HTMLTestRunner
# report_abspath = os.path.join(report_path, now + 'report.html')
# fp = open(report_abspath, 'wb')
# runner = HTMLTestRunner(stream=fp, verbosity=2, title=readConfig.title, description='用例执行情况:')
# runner.run(all_case) # 调用add_case函数返回值 # BeautifulReport
result = BeautifulReport(all_case)
result.report(filename=now + 'report.html', description=readConfig.title, log_path=report_path)
Log().info('执行用例,生成HTML报告!') if __name__ == '__main__':
case_path = os.path.abspath(os.path.dirname(__file__)) + '\\case'
all_case = add_case(case_path)
# 生成报告测试路径
# report_path = os.path.abspath(os.path.dirname(__file__)) + '/report'
report_path = os.path.abspath(os.path.dirname(__file__)) + '\\report'
run_case(all_case, report_path)
不需要再添加case,直接返回获取到的所有用例即可;
html报告:

稍微修改了下生成的报告,增加了 用例错误 的展示和返回顶部的按钮;
因为是跑的接口,所以没有使用 BeautifulReport 的截图功能,有机会再试...
问题:
在 用例描述 那里会显示:dict() -> new empty dictionary dict ,看了下,好像是在获取用例函数的文档字符串时,返回的就是这个,暂时没找到原因,只能先去掉了...有知道的大佬请指点下...
------------------小小的分割线-------------------------
dict() -> new empty dictionary dict 错误: ddt降级到1.1.2版本即可;
BeautifulReport--适用于unittest自动化测试的可视化报告的更多相关文章
- 18年selenium3+python3+unittest自动化测试教程(下)
第六章 自动化测试进阶实战篇幅 1.自动化测试实战进阶之网页单选性别资料实战 简介:讲解使用selenium修改input输入框和单选框 2.自动化测试之页面常见弹窗处理 简介:讲解使用seleniu ...
- Python unittest 之 BeautifulReport可视化报告
众所周知的报告是HTMLTestRunner,虽然经过众多的大神修改后,功能挺强大的,但这颜值,我就不多说了,大家自己感受下吧 HTMLTestRunner就不多说了,近来发现了一款款式新颖,还不漏油 ...
- unittest自动化测试举例:自动读取ymal用例&调用接口并生成报告
用unittest框架写的接口自动化实现过程: 1.编写ymal格式用例: 2.导入ddt模块,该模块的主要功能是帮你读取ymal用例文件,自动获取内容并循环调用函数,具体见代码. 3.导入Beaut ...
- Python Selenium 之生成Beautiful可视化报告
提到自动化测试,少不了自动化生成测试报告,更少不了漂亮的测试报告呀!刚好看到在github上有个大神分享了BeautifulReport,与unittest测试框架完美的结合起来,就能生成Beauti ...
- Appium基于Python unittest自动化测试 & 自动化测试框架 -- PO并生成html测试报告
基于python单元测试框架unittest完成appium自动化测试,生成基于html可视化测试报告 代码示例: #利用unittest并生成测试报告 class Appium_test(unitt ...
- Appium基于python unittest自动化测试并生成html测试报告
本文基于python单元测试框架unittest完成appium自动化测试,生成基于html可视化测试报告 代码示例: #利用unittest并生成测试报告 class Appium_test(uni ...
- unittest自动化测试框架
目录 框架的概念 Unittest单元测试框架 常用的assert语句 unittest创建测试代码的方式: unittest构建测试套件(测试用例集合): unittest忽略测试用例: 运行测试集 ...
- selenium+unittest自动化测试
学了unittest+接口测试后,又试着用框架去做UI测试.感觉还是很好用的. 项目里该有的基本都有了,供以后扩展学习做个参考. 链接:https://github.com/Mollylin0/mon ...
- Unitest自动化测试基于HTMLTestRunner报告案例
报告效果如下: HTMLTestRunner脚本代码如下: #coding=utf-8 # URL: http://tungwaiyip.info/software/HTMLTestRunner.ht ...
随机推荐
- How to secure the ASP.NET_SessionId cookie? 设置ASP.NET_SessionId Secure=true
How to secure the ASP.NET_SessionId cookie? To add the ; secure suffix to the Set-Cookie http header ...
- 内存(RAM或ROM)和FLASH存储的真正区别总结
转载自:http://blog.csdn.net/liangkaiyang/article/details/59556531.什么是内存 什么是内存呢?在计算机的组成结构中,有一个很重要的部分 ...
- 网站favicon图标的显示问题
今天在微信开发者工具发现一个错误,说是找不到favicon.ico这个文件. 这个就是标签式浏览器显示在页面title前面的小图标,移动端也没什么用,所以一直没在意,今天有空就研究了一下,发现还是有点 ...
- Oracle课程档案,第十三天
配置可恢复性: ontrol_files:控制文件 parameter:参数 show:显示 select name from v$database; 查看当前的数据库★★ 控制文件SQL> s ...
- Oracle课程档案,第七天
数据库管理 关闭数据库有4中方式: 1.shutdown modes 关机模式 2.shutdown normal 关机正常 3.shutdown immediate 立即关闭 ★★ 常用命令 4.s ...
- js中级小知识
1.作用域链 作用域:浏览器给js的一个生存环境(栈内存). 作用域链:js中的关键字var和function都可以提前声明和定义,提前声明和定义的放在我们的内存地址(堆内存)中.然后js从上到下逐行 ...
- 浅谈提高Django性能
Django性能优化是一件困难的事情,但是也不常常如此: 下面4步将能够轻松的提高你的网站的性能,它们非常简单你应该将它们 作为标配. 持久化数据库连接 django1.6以后已经内置了数据库持久化连 ...
- 20175320 2018-2019-2 《Java程序设计》第4周学习总结
20175320 2018-2019-2 <Java程序设计>第4周学习总结 教材学习内容总结 本周学习了教材的第五章的内容.在这章中介绍了子类与继承,着重讲了子类继承的规则以及使用sup ...
- Cardinal and Ordinal Numbers
Cardinal Numbers Table of Cardinal Numbers Cardinal numbers from 1 through 1,000,000 1 one 11 eleven ...
- 使用docker容器运行MySQL数据库并持久化数据文件
1.下载mysql镜像 # docker pull mysql 2.启动mysql容器 # docker run -itd -v /data:/var/lib/mysql -p 33060:3306 ...