基于HTMLTestRunner0.8.2版本修改HTMLTestRunner.py

HTMLTestRunner下载与安装 HTMLTestRunner保姆级安装教程 阅读详情

基于HTMLTestRunner0.8.2版本修改HTMLTestRunner.py

一、适配python3.5以上

94行修改import StringIo为import io
539行修改self.outputBuffer = StringIo.StringIO() 为 self.outputBuffer = io.StringIO()
631行修改 print >> sys.stderr, ‘\nTime Elapsed: %s’ % (self.stopTime-self.startTime) 为 print(sys.stderr, ‘\nTime Elapsed: %s’ % (self.stopTime-self.startTime))
642行修改 if not rmap.has_key(cls):为if not cls in rmap:
766行修改 uo = o.decode(‘latin-1’) 修改成 uo = e
775行修改 ue = o.decode(‘latin-1’) 修改成 ue = e

1、暴力解决问题

1.1 结果为pass也进行输出,但只输出print打印的结果

760行修改 tmpl = has_output and self.REPORT_TEST_WITH_OUTPUT_TMPL or self.REPORT_TEST_NO_OUTPUT_TMPL 为
if n == 2:
tmpl = has_output and self.REPORT_TEST_WITH_OUTPUT_TMPL
else:
tmpl = self.REPORT_TEST_WITH_OUTPUT_TMPL
766行修改 uo = e 修改成 uo = o

1.2 添加测试人员(添加其他变量均可以如此)

610行添加一个变量tester
672行添加(‘Tester’, self.tester)

2、优雅解决问题

"""
对HTMLTestRunner中HTMLTestRunner方法进行继承和重载
"""
from xml.sax import saxutils
import sys
from HtmlTestRunner import HTMLTestRunner


class HTMLTestRunnerEdit(HTMLTestRunner):

    def __init__(self, stream=sys.stdout, verbosity=1, title=None, description=None, tester=None):
        """
        增加变量测试人员
        """
        super().__init__(stream=stream, verbosity=verbosity, title=title, description=description)
        if tester is not None:
            self.tester = tester
        else:
            self.tester = '测试'

    def getReportAttributes(self, result):
        """
        Return report attributes as a list of (name, value).
        Override this to add custom attributes.
        """
        startTime = str(self.startTime)[:19]
        duration = str(self.stopTime - self.startTime)
        status = []
        if result.success_count:
            status.append('Pass %s' % result.success_count)
        if result.failure_count:
            status.append('Failure %s' % result.failure_count)
        if result.error_count:
            status.append('Error %s' % result.error_count)
        if status:
            status = ' '.join(status)
        else:
            status = 'none'
        return [
            ('Start Time', startTime),
            ('Duration', duration),
            ('Status', status),
            ('Tester', self.tester),
        ]

    def _generate_report_test(self, rows, cid, tid, n, t, o, e):
        """
        重载后解决:
        1、pass状态也能输出结果
        """
        # e.g. 'pt1.1', 'ft1.1', etc
        has_output = bool(o or e)
        tid = (n == 0 and 'p' or 'f') + 't%s.%s' % (cid+1, tid+1)
        name = t.id().split('.')[-1]
        doc = t.shortDescription() or ""
        desc = doc and ('%s: %s' % (name, doc)) or name
        if n == 2:
            tmpl = has_output and self.REPORT_TEST_WITH_OUTPUT_TMPL
        else:
            tmpl = self.REPORT_TEST_WITH_OUTPUT_TMPL
        # o and e should be byte string because they are collected from stdout and stderr?
        uo = o
        ue = e

        script = self.REPORT_TEST_OUTPUT_TMPL % dict(
            id=tid,
            output=saxutils.escape(uo+ue),
        )
        row = tmpl % dict(
            tid=tid,
            Class=(n == 0 and 'hiddenRow' or 'none'),
            style=n == 2 and 'errorCase' or (n == 1 and 'failCase' or 'none'),
            desc=desc,
            script=script,
            status=self.STATUS[n],
        )
        rows.append(row)
        if not has_output:
            return
HTMLTestRunner生成HTML测试报告以及测试套件使用 一:定义一个加减乘除的计算(mathtest.py) def add(a,b): return a+b def minus(a,b): return a-b def multi(a,b): return a*b def divide(a,b): return a/b 二:对mathtest模块进行单元测试(unittest2.py) import unittest... 阅读详情

相关推荐

HTMLTestRunner使用方法

1.下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 2.将HTMLTestRunner.py右键链接另存为 3.将HTMLTestRunner.py文件放到当前项目文件venv/Lib/site-packages中; 4.HTMLTestRunner.py默认是python2,需要转换成python3,进行如下配置修改: # 94行,import StringI0 ||| import io # 118行,self.fp.write(s)

打不完哈欠O_O 1万+

下载HTMLTestRunner并修改

下载的HTMLTestRunner.py是针对python2写的,所以针对python3需要适当更改其内容

m0_70618214的博客 668

别再手动复制了!Python 3.x 下 HTMLTestRunner 0.8.2 一键安装与配置指南

本文详细介绍了在Python 3.x环境下如何一键安装和配置HTMLTestRunner 0.8.2,告别繁琐的手动复制粘贴操作。通过pip安装社区维护的兼容版本,提供完整的测试报告生成方案,包括基础配置、样式自定义、与Pytest集成及持续集成环境部署,帮助开发者高效完成自动化测试。

weixin_29061997的博客 211

我又把HTMLTestRunner改了一下,支持Python3,添加echarts统计饼图

之前用Bootstrap把HTMLTestRunner改的美观了一点,同时改成了中文的报告,但那个是基于Python2的,见这篇博文 selenium之 输出报告,对HTMLTestRunner进行样式调整后的示例。这次呢,博主又给它改成了Python3的版本,同时给它加上了一个用echarts实现的统计饼图。效果如下:但这个需要用到echarts的js文件,如下图:把echarts的js放到与报

灰蓝 2万+

Python 3.x下HTMLTestRunner 0.8.2安装与自动化测试报告生成指南

在软件测试领域,自动化测试是提升研发效能、保障软件质量的核心实践。其原理是通过脚本模拟用户操作或接口调用,自动执行测试用例并验证结果,从而将测试人员从重复、低效的手工劳动中解放出来。自动化测试的技术价值在于实现快速反馈、提高测试覆盖率、支持持续集成与持续交付。在单元测试、接口测试、UI测试等场景中,生成清晰、直观的测试报告是评估测试结果、进行问题追溯和团队协作的关键环节。HTMLTestRunner作为一个经典的Python单元测试报告生成器,能够将unittest框架的文本输出转化为结构化的HTML网页报

weixin_28836989的博客 285

Python单元测试报告生成利器:HTMLTestRunner详解

在软件测试领域,单元测试是保证代码质量的基础环节。Python内置的unittest框架虽然功能完善,但其控制台输出形式在测试用例数量庞大时显得捉襟见肘。HTMLTestRunner作为unittest的扩展工具,通过将测试结果转换为可视化HTML报告,解决了测试结果展示不直观的问题。该工具特别适合持续集成环境,能够清晰展示通过率、失败原因等关键指标,大幅提升测试结果的可读性。对于电商平台等包含大量测试用例的项目,HTMLTestRunner能有效管理300+测试用例的输出混乱问题。其安装方式特殊但简单,支

weixin_30824479的博客 389

HTMLTestRunner.py 修改后

HTMLTestRunner.py 修改后 “”" A TestRunner for use with the Python unit testing framework. It generates a HTML report to show the result at a glance. The simplest way to use this is to invoke its main met...

weixin_39079542的博客 286

HTMLTestRunner.py

基于Python3语法的HTMLTestRunner第三方库文件

Python3里HTMLTestRunner.py文件的修改

修改的地方: 1、:No module named StringIO 原因:python 3 中 没有 StringIO 这个模块。这里我们需要使用io 这个模块来代替。 解决:第94行引入的名称要改,从 import StringIO 改成import io。 第539行 self.outputBuffer = StringIO.StringIO() 要改成self.outputBuffer = io.StringIO() 2、:AttributeError: ‘dict’ object has no a

windskyss的博客 884

htmlTestrunner0.8.2

最新的HtmlTestRunner0.8.2版本,适用于python2需要的小伙伴可以下载哦

最新的HTMLTestRunner

最新的HTMLTestRunner,无需修改,下载即可用,解决【ImportError: No module named 'StringIO'】错误。

HTMLTestRunner 美化版本

前言 ​最近小伙伴们在学玩python,,看着那HTMLTestRunner生成的测试报告,左右看不顺眼,终觉得太丑。搜索了一圈没有找到合适的美化报告,于是忍不住自已动手进行了修改,因习惯python 2.7,所以,在原作者HTMLTestRunner.py的Version 0.8.2上进行了自已的修改定制。有时大伙会觉得英语会有莫名的逼格(感叹,沉默...),所以做了CN与EN两个版...

667

HTMLTestRunner.py(支持python3,已修改)

HTMLTestRunner.py现已支持python3,用于生成自动化测试报告,下载后将包拖到python3的安装目录的Lib目录下即可

8、Selenium+python安装HTMLTestRunner插件

1.打开网址:http://tungwaiyip.info/software/HTMLTestRunner.html,下载HTMLTestRunner.py 2.copy其HTMLTestRunner.py的内容,在python路径下的lib包下,新建.py后缀名的,粘贴copy内容 3.若Python版本是2.0,上述操作即可导入HTMLTestRunner,但是pyth...

bannaoshou7980的博客 211

支持python2和python3的HTMLTestRunner中英文版本

压缩包中共有四个HTMLTestRunner版本,分别是: HTMLTestRunner原生版本,支持python2.X; HTMLTestRunner原生版本,支持python3.X; HTMLTestRunner美化英文版本,支持python3.X; HTMLTestRunner美化中文版本,支持python3.X。 文件如何用? 将想要使用的文件放到 python安装路径的 Lib 目录下即可 在脚本中如何引用? 原生版本的: from HTMLTestRunner import HTMLTestRunner 美化英文版的: from HTMLTestReportEN import HTMLTestRunner 美化中文版本的,建议使用的版本: from HTMLTestReportCN import HTMLTestRunner 注:美化的中英版本可以在HTMLTestRunner参数中添加测试人员姓名(tester='姓名'), 不添加默认是 QA

反激开关电源变压器设计实例讲解(定明芳)

内容来自《反激变压器的设计》(定明芳主讲)。 定名芳老师主要讲了10步,最后应该还有一步,线径的选择已经绕制方式。这里进行了记录整理,把一些公式来源进行了推导。所有的设计都是基于理论计算。 1.确定电源规格 2.确定工作频率和最大占空比 3.计算匝比(利用伏秒平衡原则) 此处插入解释一下伏秒平衡,根源是磁通量平衡。该原则可以用来检查MOS管耐压是否够。 4.计算初级线圈峰值电流 基于CCM模式计算的。ip1是开关管要关闭时的峰值电流,ip2是开关管开始导通时的起始电流。因为时CCM模式,所以,ip

ydgd118的博客 5万+

python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决【转载】

原文转自:http://bbs.chinaunix.net/thread-4154743-1-1.html python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'的解决方法: 1.原因是官网的是python2语法写的,看官手动把官网的HTMLTestRunner.py改成python3的语法: ...

anbaduay633369的博客 111

从玩具到工业:手把手教你用Webots仿真Scara抓取(逆解实战篇)

本文详细介绍了如何在Webots仿真环境中实现Scara机械臂的逆解计算与抓取操作,涵盖从环境配置、逆运动学算法到轨迹规划与实时控制的完整流程。通过实战案例演示,帮助读者掌握机械臂逆解的核心技术,并应用于工业自动化场景,提升Scara机械臂的编程与控制能力。

weixin_30932215的博客 504

python3.x版本,下载安装HTMLTestRunner和使用(支持生成饼图)

HTMLTestRunner 是 unittest 的一个扩展,它可以生成易于使用的 HTML 测试报告。 HTMLTestRunner 是在 BSD 许可证下发布的。 HTMLTestRunner 的下载和安装: 下载:这里为大家提供我的百度网盘的分享地址下载: 链接: https://pan.baidu.com/s/13K2vUH0xCqPtyrlIaR_qYA 提取码: 6ck6 安装: HTMLTestRunner 的使用非常简单,它是一个独立的 HTMLTestRunner.py 文件,既

qq_41187577的博客 8173

硬件-汽车电子-TBOX/TCAM核心器件选型与系统集成设计指南

本文深入解析汽车电子TBOX/TCAM硬件架构与系统集成设计,涵盖核心器件选型、电源管理、信号完整性优化等关键点。重点分享5G模组选型避坑经验、MCU隐性指标及热设计验证方案,为车载通信系统开发提供实用指南。

weixin_30352645的博客 530

SpyGlass CDC实战:如何用sgdc约束文件解决跨时钟域报错(附常见错误排查)

本文详细介绍了如何使用SpyGlass CDC工具编写sgdc约束文件解决跨时钟域(CDC)报错问题。从基础语法到实战案例,涵盖时钟声明、复位约束、路径豁免等关键技巧,特别针对SPI断续时钟等特殊场景提供解决方案,并附常见错误排查指南,帮助工程师高效完成CDC验证。

weixin_28744423的博客 625

HtmlRunner.py For 3.0(还有大佬修改过的版本)

大佬改的版本 https://www.cnblogs.com/ybcao/p/5432763.html 官方下载的支持py语言2.0的,所以要修改一下,下面这个可以直接用 用法很简单 把下面这玩意保存成py文件,然后扔进 之后 导入就可以了 # -*- coding: utf-8 -*- # @Time : 2018/8/21 15:13 # @Author : me...

jiulanhao的博客 278

PythonWeb开发框架—Django之工程创建和models的定义和增删改查

文章介绍了Django工程的创建、models的定义和增删改查

weixin_42476668的博客 990
上一篇: 常用数据类型和bytes数组互转
下一篇: python实现excel读取
caodingzheng
博客等级 码龄7年 18粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值