安装:

  因为是由大神分享的,可以直接在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自动化测试的可视化报告的更多相关文章

  1. 18年selenium3+python3+unittest自动化测试教程(下)

    第六章 自动化测试进阶实战篇幅 1.自动化测试实战进阶之网页单选性别资料实战 简介:讲解使用selenium修改input输入框和单选框 2.自动化测试之页面常见弹窗处理 简介:讲解使用seleniu ...

  2. Python unittest 之 BeautifulReport可视化报告

    众所周知的报告是HTMLTestRunner,虽然经过众多的大神修改后,功能挺强大的,但这颜值,我就不多说了,大家自己感受下吧 HTMLTestRunner就不多说了,近来发现了一款款式新颖,还不漏油 ...

  3. unittest自动化测试举例:自动读取ymal用例&调用接口并生成报告

    用unittest框架写的接口自动化实现过程: 1.编写ymal格式用例: 2.导入ddt模块,该模块的主要功能是帮你读取ymal用例文件,自动获取内容并循环调用函数,具体见代码. 3.导入Beaut ...

  4. Python Selenium 之生成Beautiful可视化报告

    提到自动化测试,少不了自动化生成测试报告,更少不了漂亮的测试报告呀!刚好看到在github上有个大神分享了BeautifulReport,与unittest测试框架完美的结合起来,就能生成Beauti ...

  5. Appium基于Python unittest自动化测试 & 自动化测试框架 -- PO并生成html测试报告

    基于python单元测试框架unittest完成appium自动化测试,生成基于html可视化测试报告 代码示例: #利用unittest并生成测试报告 class Appium_test(unitt ...

  6. Appium基于python unittest自动化测试并生成html测试报告

    本文基于python单元测试框架unittest完成appium自动化测试,生成基于html可视化测试报告 代码示例: #利用unittest并生成测试报告 class Appium_test(uni ...

  7. unittest自动化测试框架

    目录 框架的概念 Unittest单元测试框架 常用的assert语句 unittest创建测试代码的方式: unittest构建测试套件(测试用例集合): unittest忽略测试用例: 运行测试集 ...

  8. selenium+unittest自动化测试

    学了unittest+接口测试后,又试着用框架去做UI测试.感觉还是很好用的. 项目里该有的基本都有了,供以后扩展学习做个参考. 链接:https://github.com/Mollylin0/mon ...

  9. Unitest自动化测试基于HTMLTestRunner报告案例

    报告效果如下: HTMLTestRunner脚本代码如下: #coding=utf-8 # URL: http://tungwaiyip.info/software/HTMLTestRunner.ht ...

随机推荐

  1. 【Dubbo 源码解析】05_Dubbo 服务发现&引用

    Dubbo 服务发现&引用 Dubbo 引用的服务消费者最终会构造成一个 Spring 的 Bean,具体是通过 ReferenceBean 来实现的.它是一个 FactoryBean,所有的 ...

  2. 如何优雅的选择字体(font-family)

    大家都知道,在不同操作系统.不同游览器里面默认显示的字体是不一样的,并且相同字体在不同操作系统里面渲染的效果也不尽相同,那么如何设置字体显示效果会比较好呢?下面我们逐步的分析一下: 一.首先我们看看各 ...

  3. 使用PsExec获取shell执行命令

    PsExec PsExec是pstools工具组套件的一部分,确成为了渗透利器,下载地址:点击这里下载 连接shell 我的Windows Server 2012默认打开域网络防火墙的时候,是不能连接 ...

  4. STC15单片机最小系统DIY

    DIY计划简介 STC15F2K60S2简介: STC-Y5高速内核,工作频率可配置为1T(sysclk=mclk) 2K RAM(256字节 idata + 1792字节 xdata) + 60K ...

  5. TTL是什么意思?

    TTL是一个ip协议的值,它告诉网络,数据包在网络中的时间是否太长而应被丢弃.有很多原因使包在一定时间内不能被传递到目的地. TTL 的初值通常是系统缺省值,是包头中的8位的域.TTL的最初设想是确定 ...

  6. GO语言-基础语法:变量定义

    package main import ( "fmt" ) //不在函数内的变量,属于包内的变量.不能使用":="进行定义和赋值 var ( bb = cc = ...

  7. zabbix的安装部署及自定义监控的实现

    此篇感谢我的小师傅. 1. Zabbix主要功能和优劣势说明 1. Zabbix主要功能和优劣势说明 1.1 Zabbix主要功能: 1)Application monitoring 应用监控 数据库 ...

  8. npm安装插件

    参考:https://www.cnblogs.com/ayseeing/p/3624058.html

  9. java学习之路--面试之并发基础

    1. 什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)?原子操作是指一个不受其他操作影响的操作任务单元.原子操作是在多线程环境下避免数据不一致必 ...

  10. vue 中的数据绑定

    vue当中有个v-model, 是怎么实现的呢?其实是利用了$event. <div id="app"> <!-- 输入什么,就输出什么 --> <i ...