文章目录

  • 开局一张图
  • 安装
    • 通过pip安装
    • 通过安装包
    • 通过源码(最新版本)
  • 使用
    • 单元测试使用样例
  • 附录

原文链接

如果你是Java栈的同学,那么你可能知道extent report测试报告框架。而Python你可能知道HTMLTestRunner测试报告框架。今天要介绍的则是基于HTMLTestRunner的新测试报告框架PyTestReport。

如果Python语言界已经有了HTMLTestRunner,那么为什么还要一个PyTestReport测试框架呢?原因很简单,因为与Extent Report框架相比,HTMLTestRunner在界面的优越性上面还是有不少的差距,而PyTestReport则意在成为Python语言中的Extent Report

开局一张图

这个就是PyTestReport的默认主题模板,虽然看上去跟Extent Report的众多模块相比,还是稍有逊色显得不是很专业。但是这并不影响我们介绍这款框架,因为它在基于HTMLTestRunner进行改良之后开始支持模板扩展了,也就是说将来它可以拥有和Extent Report同步样式的报告模板。

所以如果你对此框架还有兴趣,就一起来看下如果快速的使用和扩展该框架的主题模板。如果你具有较好的CSS功底,那么欢迎来为我们的主题模板舔砖加瓦_!开源合作相关请点击PyTestReport的github地址查看详情。

安装

通过pip安装

pip install PyTestReport

通过安装包

可通过发布的安装包进行安装,具体安装包可在dist目录查找。

pip install PyTestReport-0.1.X-py3-none-any.whl

通过源码(最新版本)

pip install git+https://github.com/five3/PyTestReport.git

或者

git clone https://github.com/five3/PyTestReport.git
cd PyTestReport
python setup.py build
python setup.py install

使用

PyTestReport可用通过多种方式运行,分别如下:

  • 单元测试
  • lib库引入(后续支持)
  • 命令行(后续支持)
  • REST API(后续支持)

单元测试使用样例

import unittest
import pytestreportclass MyTest(unittest.TestCase):def testTrue(self):self.assertTrue(True)if __name__ == '__main__':pytestreport.main(verbosity=2)

以这种方式执行之后,默认会在当前文件夹下生成一个PyTestReport.html日志文件,且这个文件名和样式模板都不可以重新指定的。

注意:这种方式执行时,如果使用Pycharm等IDE,确保不是以IDE的内建单元测试框架来执行的;或者直接通过命令行来执行。

import unittest
from pytestreport import TestRunnerclass MyTest(unittest.TestCase):def testTrue(self):self.assertTrue(True)if __name__ == '__main__':suite = unittest.TestSuite()suite.addTests(unittest.TestLoader().loadTestsFromTestCase(MyTest))with open(r'/path/to/report.html', 'wb') as fp:runner = TestRunner(fp, title='测试标题', description='测试描述', verbosity=2)runner.run(suite)

这种方式适合批量加载和执行测试用例,从测试文件的外部来导入测试用例并执行。这里可以指定具体的结果文件路径和测试标识等信息。

这里使用的是默认模板主题,如果想要使用其它模板主题,可以通过制定模板的主题文件来实现。比如:使用遗留模板的方式如下所示。

from pytestreport import TestRunner
...
runner = TestRunner(fp, title='测试标题', description='测试描述', verbosity=2, htmltemplate='legency.html', stylesheet='legency.css', javascript='legency.js')

附录

  • github

获取更多关于Python和自动化测试的文章,请扫描如下二维码!

Python单元测试报告框架PyTestReport相关推荐

  1. 自动化测试报告 html模板,PyTestReport 自动化测试报告框架

    PyTestReport 一个由HTMLTestRunner项目为灵感,并基于HTMLTestRunner进行二次开发的一个项目.主要在 API 调用.报告样式.扩展性等方面进行了增强. 点击查看HT ...

  2. python 单元测试_聊聊 Python 的单元测试框架(一):unittest

    本文首发于 HelloGitHub 公众号,并发表于 Prodesire 博客. 前言 说到 Python 的单元测试框架,想必接触过 Python 的朋友脑袋里第一个想到的就是 unittest. ...

  3. python单元测试框架-Python unittest单元测试框架总结

    什么是单元测试 单元测试是用来对一个模块.一个函数或者一个类来进行正确性检验的测试工作. 比如对于函数abs(),我们可以编写的测试用例为: (1)输入正数,比如1.1.2.0.99,期待返回值与输入 ...

  4. selenium + python自动化测试unittest框架学习(二)

    1.unittest单元测试框架文件结构 unittest是python单元测试框架之一,unittest测试框架的主要文件结构: File >report >all_case.py &g ...

  5. Python单元测试之pytest

    前提:需要安装pytest和pytest-html(生成html测试报告) pip install pytest pip install pytest-html 安装成功展示: 1.命名规则 Pyte ...

  6. Python 并行分布式框架 Celery

    Celery 官网:http://www.celeryproject.org Celery 官方文档英文版:http://docs.celeryproject.org/en/latest/index. ...

  7. selenium + python自动化测试unittest框架学习(一)selenium原理及应用

    unittest框架的学习得益于虫师的<selenium+python自动化实践>这一书,该书讲得很详细,大家可以去看下,我也只学到一点点用于工作中,闲暇时记录下自己所学才能更加印象深刻. ...

  8. python app自动化测试框架_appium+python,app自动化测试框架

    基于appium的app自动化测试框架 基于appium框架的app自动化测试 App自动化测试主要难点在于环境的搭建,appium完全是基于selenium进行的扩展,所以app测试框架也是基于we ...

  9. python split()方法_聊聊 Python 的单元测试框架(一):unittest

    本文首发于 HelloGitHub 公众号,并发表于 Prodesire 博客. 前言 说到 Python 的单元测试框架,想必接触过 Python 的朋友脑袋里第一个想到的就是 unittest. ...

  10. 聊聊 Python 的单元测试框架(一):unittest

    作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...

最新文章

  1. PHP命名空间的使用规则
  2. getAffineTransform函数
  3. 数据结构实验之链表五:单链表的拆分
  4. mysql Subqueries
  5. 火了!评分9.7,这本Python书终于玩大了!
  6. TI TMS570LC43xx 裸机开发快速上手
  7. nginx php 5.5 安装,Nginx1.5与PHP5.5安装文档
  8. svg转换pdf用php实现,如何使用javascript在JSPDF中将SVG文件转换为PDF
  9. 敏感词过滤golang
  10. 闪迪u盘不能识别好办法_闪迪u盘修复工具,小编教你怎么修复闪迪U盘
  11. 乐高叉车wedo教案_乐高wedo20课程教案
  12. 数据挖掘肿瘤预测_肿瘤分析数据挖掘及信息解读
  13. html5 电子白板 直播,HTML5 canvas教程 如何实现电子白板
  14. Uni-app API
  15. atcoder Beginner Contest 156 Roaming(组合数学 插板法)
  16. python交通调查数据处理_Python突破高德API限制爬取交通态势数据+GIS可视化(超详细)...
  17. 现在seo还好做吗(SEO越来越好做了吗)
  18. 数据分析:基于Pandas的全球自然灾害分析与可视化
  19. Jenkins 添加配置Git账号密码凭据
  20. 6.Python常用第三方库—jieba库的使用(中文分词词库)

热门文章

  1. SIM800A/C只能发短信不能收短信解决方案
  2. iOS 删除本地文件
  3. C语言圆周率天书简化,c语言天书__圆周率的计算及分析
  4. mrpoid模拟器java版_mrpoid2冒泡模拟器下载-mrpoid2模拟器下载3.0安卓版-西西软件下载...
  5. matlab中方差分析的自由度,多因素方差分析的自由度
  6. 单因素试验固定效应模型方差分析
  7. 《物联篮球计分器》Android应用程序开发-期末课程设计
  8. VS技巧 使用Visual Studio Icon Patcher将2010的图片注入到2012中
  9. 计算机编程英语词汇app,计算机编程英语词汇
  10. 松下新一代电力线通信(PLC)技术经IEEE P1901.3工作小组批准成为基准规范