Selenium3自动化测试【40】Html测试报告

news2024/11/25 6:33:05

📌 博客主页: 程序员二黑
📌 专注于软件测试领域相关技术实践和思考,持续分享自动化软件测试开发干货知识!
📌 公号同名,欢迎加入我的测试交流群,我们一起交流学习!


目录

    • 1. HTMLTestRunner的介绍
    • 2. HTMLTestRunner的优化
    • 3. 测试报告的生成
    • 资源分享

测试执行过程中,当测试脚本运行完毕后,直接将运行完毕后的测试结果发给项目组成员,并不是最优的选择。如何让测试结果变的易读美观,让测试结果变的人人能够看的懂,也是值得考虑的问题。

HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展, 它可以生成HTML的测试报告。

1. HTMLTestRunner的介绍

HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展, 它可以生成HTML的测试报告。下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html,将下载后的HTMLTestRunner.py放到Python安装路径下的Lib文件中。

2. HTMLTestRunner的优化

现在使用的Python版本大部分是Python3,而前面下载的HTMLTestRunner.py是基于Python2版本的,所以有些地方需要修改成符合Python3版本的规范要求,修改的地方如下(书籍提供的资料里是修改过符合Python3版本的HTMLTestRunner.py文件,无需自己下载了及修改了哦….)。

第94行:
import StringIO 改为import io
第539行:
self.outBuffer=StringIO.String()改为self.outBuffer=io.StingIO()
第631行:
print>>sys.stderr.”\nTime Elapsed:%s’%(self.stopTime-self.startTime)改为print(sys.stderr.”\nTime Elapsed:%s’%(self.stopTime-self.startTime))
第642行:
if not map.has_key(cls)改为if not cls in map
第766行:
uo=o.decode(“latin-1”)改为uo=e
第772行:
ue=e.decode(“latin-1”)改为ue=e

3. 测试报告的生成

结合前面UnitTest单元测试框架章节中test_mathfunc.py为例,test_mathfunc.py内容如下:

import unittest
from UnitTestDemo.mathfunc import *

class TestMathFunc(unittest.TestCase):
    """测试mathfunc.py"""

     # @unittest.skip("don't run this case!")
     # @unittest.skipIf(3<2,"don't run this case!")
     #@unittest.skipUnless(1>2,"don't run this case!")
    def test_add(self):
        """测试加法add()"""
        self.assertEqual(3,add(1,2))
        self.assertNotEqual(3,add(2,2))

    def test_minus(self):
        """测试减法minus"""
        self.assertEqual(1,minus(3,2))

    def test_multi(self):
        """测试乘法multi"""
        self.assertEqual(6,multi(2,3))

    def test_divide(self):
        """测试除法divide"""
        self.assertEqual(2,divide(6,3))
        self.assertEqual(2.5,divide(5,2))

在工程的根目录下新建HtmlReport.py,代码如下:

import unittest
from HTMLTestRunner import HTMLTestRunner
from UnitTestDemo.test_mathfunc import TestMathFunc

if __name__ == "__main__":
    suite = unittest.TestSuite()
    # 执行加法、减法、除法
    tests = [TestMathFunc("test_add"),TestMathFunc("test_divide"),TestMathFunc("test_minus")]
    suite.addTests(tests)
    # addTest,添加单个TestCase
    # suite.addTest(TestMathFunc("test_multi"))
    f = open("d:\\reporter.html","wb")
    runner = HTMLTestRunner(stream=f,
                            title="测试报告",
                            description="测试用例执行情况")
    runner.run(suite)

运行HtmlReport.py文件,可观察到D盘下增加了reporter.html一个html文件。打开该html文件,展现结果如图8-1所示,可以通过页面直观的看到test_mathfunc.py中测试用例的执行情况。通过html测试报告,让测试结果变的直观易读。


::: hljs-center

图 html测试报告

:::


资源分享

下面这份资源,对于想学习【软件测试】的朋友来说应该是最全面最完整的备战仓库,希望也能帮助到你!在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/92965.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Aspartic acid-PEG-BSA 天冬氨酸-聚乙二醇-牛血清白蛋白

产品名称&#xff1a;天冬氨酸-聚乙二醇-牛血清白蛋白 英文名称&#xff1a;Aspartic acid-PEG-BSA 纯度&#xff1a;95% 存储条件&#xff1a;-20C&#xff0c;避光&#xff0c;避湿 外观:固体或粘性液体&#xff0c;取决于分子量 PEG分子量可选&#xff1a;350、550、750、1k…

Android Kotlin使用APT手写ButterKnife

前言 ButterKnife通过使用BindView注解就可以完成findViewById工作&#xff0c;它的实现原理其实也很简单&#xff0c;通过APT&#xff08;Annotation Processing Too,注解解析器&#xff09;技术&#xff0c;在编译期为我们生成了一个绑定类&#xff0c;而从完成了View的绑定…

OpenAI掌门人Sam Altman:AI的下一个发展阶段

来源&#xff5c;Greylock OneFlow社区编译 翻译&#xff5c;胡燕君、贾川 预告了一整年的GPT-4迟迟没来&#xff0c;人们猜想OpenAI是不是要跳票了&#xff0c;更何况他们之前的得意之作DALL-E也被开源Stable Diffusion打了个措手不及&#xff0c;再不来点深水炸弹业界地位危矣…

jsp+ssm计算机毕业设计ssm学生成绩考核管理系统【附源码】

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; JSPSSM mybatis Maven等等组成&#xff0c;B/S模式 Mave…

对 CSS 工程化的理解

CSS 工程化是为了解决以下问题&#xff1a; 宏观设计&#xff1a;CSS 代码如何组织、如何拆分、模块结构怎样设计&#xff1f;编码优化&#xff1a;怎样写出更好的 CSS&#xff1f;构建&#xff1a;如何处理我的 CSS&#xff0c;才能让它的打包结果最优&#xff1f;可维护性&a…

SQL基础——查询基础

查询基础前言整体思维导图列的查询语法2.1 基本的SELECT语句代码示例&#xff1a;从Product表中输出3列执行结果查询出所有的列语法2.2 查询全部的列代码示例2.2 输出Product表中全部的列执行结果为列设置别名代码示例2.3 为列设置别名执行结果代码示例2.4 设置中文别名执行结果…

Redis持久化没玩明白,你就会把缓存数据丢了

引言 我们都知道Redis是微服务架构中重要的基础数据库中间件&#xff0c;通过Redis可以将数据库中的数据缓存到内存中&#xff0c;当服务端有数据查询请求的时候&#xff0c;可以直接从内存中获取数据。如此&#xff0c;一方面服务端可以获得比较快的数据请求响应&#xff0c;…

透明质酸-嵌段共聚物 透明质酸修饰聚乳酸 HA-PLA/PCL/PLGA/PEI/PLL

品牌&#xff1a;为华生物 产地&#xff1a;广州 中文名称&#xff1a;透明质酸-聚乳酸 英文名称&#xff1a;HA-PLA 溶解度&#xff1a;溶于部分有机溶剂 保存时间&#xff1a;一年 PLA分子量&#xff1a;根据客户要求定制 HA分子量&#xff1a;3000--1500K 其他分子量可根据客…

鑫磊股份通过注册:年营收8.2亿 为钟仁志与蔡海红夫妻店

雷递网 雷建平 12月15日鑫磊压缩机股份有限公司&#xff08;简称&#xff1a;“鑫磊股份”&#xff09;日前通过注册&#xff0c;准备在深交所创业板上市。鑫磊股份计划募资4.53亿元&#xff0c;其中&#xff0c;1.97亿元用于新增年产3万台螺杆式空压机技改项目&#xff0c;1.0…

Python+Selenium使用Page Object实现页面自动化测试

&#x1f4cc; 博客主页&#xff1a; 程序员二黑 &#x1f4cc; 专注于软件测试领域相关技术实践和思考&#xff0c;持续分享自动化软件测试开发干货知识&#xff01; &#x1f4cc; 公号同名&#xff0c;欢迎加入我的测试交流群&#xff0c;我们一起交流学习&#xff01; 目录…

03解锁源码分析-ReentrantReadWriteLock原理-AQS-并发编程(Java)

文章目录1 读锁解锁1.1 tryReleaseShared()1.2 doReleaseShared()1.3 unparkSuccessor()1.4 示意图2 写锁解锁2.1 tryRelease()2.2 尝试解锁成功2.3 setHeadAndPropagate()5 后记1 读锁解锁 查看下读锁的解锁相关源代码&#xff1a; public void unlock() {sync.releaseShare…

【实时数仓】在Hbase建立维度表、保存维度数据到Hbase、保存业务数据到kafka主题

文章目录一 分流Sink之建立维度表到HBase(Phoenix)1 拼接建表语句&#xff08;1&#xff09;定义配置常量类&#xff08;2&#xff09;引入依赖&#xff08;3&#xff09;hbase-site.xml&#xff08;4&#xff09;在phoenix中执行&#xff08;5&#xff09;增加代码a TableProc…

Docker安装简单命令

一、 Docker是什么? 要了解Docker&#xff0c;首先要了解什么是容器&#xff1f; 容器是一个软件的轻量级独立可执行软件包&#xff0c;包含运行它所需的一切&#xff1a;代码&#xff0c;运行时&#xff0c;系统工具&#xff0c;系统库&#xff0c;设置。不管环境如何&…

C++(第十二篇):多态(虚函数、抽象类、虚函数表、虚表指针、多继承下的多态)

&#x1f4d2;博客主页&#xff1a;Morning_Yang丶 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f4cc;本文所属专栏&#xff1a; 【C拒绝从入门到跑路】 &#x1f64f;作者水平有限&#xff0c;如果发现错误&#xff0c;敬请指正&…

13485-59-1,二肽Ala-Pro,H2N-AP-OH

Substrate for skin fibroblast prolidase.皮肤成纤维细胞prolida酶的底物。 编号: 199181中文名称: 二肽Ala-Pro英文名: Ala-ProCAS号: 13485-59-1单字母: H2N-AP-OH三字母: H2N-Ala-Pro-COOH氨基酸个数: 2分子式: C8H14N2O3平均分子量: 186.21精确分子量: 186.1等电点(PI): 6…

web前端期末大作业:红色主题中国文化网页设计与实现——基于HTML+CSS实现中国梦(20页)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

电脑技巧:Win11系统新增的磁盘分区功能介绍

很多用户发现&#xff0c;新买的电脑中出厂自带的硬盘只有一个分区&#xff0c;目前只有少部分电脑机型出厂会有分多个分区的。 磁盘的单一分区往往不能满足我们的使用需要&#xff0c;Win7/8/10我们都知道可以在磁盘管理下通过压缩卷的方式来分区&#xff0c;Win11操作系统又新…

C# 程序的错误与调试

一 错误的zhongl 程序的错误通常可以分为三大类 ① 语法错误 ② 运行错误 ③ 逻辑错误 二 语法错误 1 常见的语法错误 ① 如括号不配对&#xff0c;多了或少了分号&#xff1b; ② 字母写错&#xff0c;变量未定义&#xff0c;控件命名写错&#xff1b; ③ 函数少了一个参数…

2022面试官常考的前端面试题

Ajax 它是一种异步通信的方法&#xff0c;通过直接由 js 脚本向服务器发起 http 通信&#xff0c;然后根据服务器返回的数据&#xff0c;更新网页的相应部分&#xff0c;而不用刷新整个页面的一种方法。 面试手写&#xff08;原生&#xff09;&#xff1a; //1&#xff1a;创建…

大一学生《Web编程基础》期末网页制作 HTML+CSS鲜花网页设计实例

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…