【Python+selenium】自动化生成测试报告

批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的。

unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLTestRunner

一、入HTMLTestRunner

1.这个模块下载不能通过pip安装了,只能下载后手动导入,下载地址:HTMLTestRunner - tungwaiyip's software

2.Download下HTMLTestRunner.py文件就是我们需要下载的包。

3.下载后复制到Python安装文件的Lib目录下

 

二、生成html测试报告

1.这里主要有三个参数:

stream:测试报告写入文件的存储区域

title:测试报告的主题

description:测试报告的描述

2. report_path是存放测试报告的地址

运行脚本后在F盘指定位置就能找到这个测试报告文件,这时候如果文件多了,不知道测试报告在哪天生成的?能否在文件名上显示一个日期和时间呢?当然是可以的

备注:

%Y-%m-%d为年月日

%H-%M为时分  注意:时间之间不能使用冒号(:)因为文件名不能使用冒号

 

三、测试报告详情

1.找到测试报告文件,用浏览器打开,点开View里的Detail可以查看详情描述。

红框中内容显是英文,我们不能直观看出是什么测试用例,可以在测试代码中添加中文注释,注释前面要加字母u,代码修改如下:

四、再次运行run_all_case脚本文件后,查看HTML测试报告

 

unittest断言

Python在 unittest.TestCase 类中提供了很多断言方法。断言方法检查你认为应该满足的条件是否确实满足。如果该条件确实满足,你对程序行为的假设就得到了确认,你就可以确信其中没有错误。如果你认为应该满足的条件实际上并不满足,Python将引发异常。下表描述了6个常用的断言方法。使用这些方法可核实返回的值等于或不等于预期的值、返回的值为 True 或 False 、返回的值在列表中或不在列表中。你只能在继承 unittest.TestCase 的类中使用这些方法。

unittest常用的断言方法

方法

用途

assertEqual(a, b)

核实 a == b

assertNotEqual(a, b)

核实 a != b

assertTrue(x)

核实 x 为 True

assertFalse(x)

核实 x 为 False

assertIn( item ,  list )

核实 item 在 list 中

assertNotIn( item ,  list )

核实 item 不在 list 中

 

unittest常用的断言方法

1.assertEqual(self, first, second, msg=None)

--判断两个参数相等:first == second

2.assertNotEqual(self, first, second, msg=None)

--判断两个参数不相等:first != second

3.assertIn(self, member, container, msg=None)

--判断是字符串是否包含:member in container

4.assertNotIn(self, member, container, msg=None)

--判断是字符串是否不包含:member not in container

5.assertTrue(self, expr, msg=None)

--判断是否为真:expr is True

6.assertFalse(self, expr, msg=None)

--判断是否为假:expr is False

7.assertIsNone(self, obj, msg=None)

--判断是否为None:obj is None

8.assertIsNotNone(self, obj, msg=None)--判断是否不为None:obj is not None

实例:assertEqual(a, b),其它的断言方法请自行偿试)

 感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

jQuery 【关于jQuery 、 jQuery简介、基础选择器、属性选择器、jQuery扩展】(一)-全面详解(学习总结---从入门到深化)

目录 关于jQuery jQuery简介 选择器之基础选择器(一) 选择器之基础选择器(二) 选择器之属性选择器(一) 选择器之属性选择器(二) 选择器之jQuery扩展(一) 选择器之jQuery扩展(二) 关于jQuery 现在是否还需要学习jQuery,毫无疑问到目前为止,我们仍然…

CentOS to KeyarchOS 系统迁移体验

1. KOS(KeyarchOS)——云峦操作系统简介 KeyarchOS 即云峦操作系统(简称 KOS)是浪潮信息基于 Linux 内核、龙蜥等开源技术自主研发的一款服务器操作系统,支持x86、ARM 等主流架构处理器,广泛兼容传统 CentOS 生态产品和创新技术产品,可为用户…

【Docker】实现JMeter分布式压测

一个JMeter实例可能无法产生足够的负载来对你的应用程序进行压力测试。如本网站所示,一个JMeter实例将能够控制许多其他的远程JMeter实例,并对你的应用程序产生更大的负载。JMeter使用Java RMI[远程方法调用]来与分布式网络中的对象进行交互。JMeter主站…

python socket编程2 - socket创建发送方所需参数的获得

使用socket进行进程间通信或者跨网络的计算机间通讯,有点类似日常生活中的发送快递。 根据发送方的需要,选择不同的物流公司: 在选择适合的公司和运输方式后,需要在app上做出选择,并根据要求填写一些信息。app会根据…

tsmc12 nm boundary cell注意事项

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 往期文章导读: boundary cell添加失败问题整理 注意N/P的区别 针对上下两边的boundary cell,有N/P类型的区别,看版图衬底形状上下是不对称的,而且P

Mac M3 芯片安装 Nginx

Mac M3 芯片安装 Nginx 一、使用 brew 安装 未安装 brew 的可以参考 【Mac 安装 Homebrew】 或者 【Mac M2/M3 芯片环境配置以及常用软件安装-前端】 二、查看 nginx 信息 通过命令行查看 brew info nginx可以看到 nginx 还未在本地安装,显示 Not installed …

白帽黑客一般一个月收入多少?

最近有人问我,像我们这种白帽黑客,一个月能赚多少?其实啊,网上那种搞盗号或做挂的,都不算正经的黑客,真正的黑客绝对不会干这种事情,因为搞这种事都会涉及违法入侵、破坏计算机系统。 先不说赚…

C++ Qt 学习(八):Qt 绘图技术与图形视图

1. 常见 18 种 Qt 绘图技术 1.1 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <memory> #include <QTreeView> #include "CPaintWidget.h"using namespace std;class Widget : public QWidget {Q_OBJECTpublic:Widget…

LOWORD, HIWORD, LOBYTE, HIBYTE的解释

文章目录 实验结论 实验 int 类型大小正常为4Byte 以小端序来看 0x12345678在内存中的存储为 0x78 0x56 0x34 0x120x78在低地址&#xff0c;0x12在高地址 程序输出 #include <stdio.h> #include <string.h> #include<windows.h>int main() {int a 0x12345…

d3dcompiler_43.dll丢失了怎么办,详细解答和d3dcompiler_43.dll修复方法

以下将为您提供几种处理d3dcompiler_43.dll文件丢失的解决措施&#xff0c;这些方法实用有效&#xff0c;可以帮助我们恢复计算机运行。 一.d3dcompiler_43.dll是什么 在我们开始探讨如何修复d3dcompiler_43.dll文件丢失的问题之前&#xff0c;首先需要了解这个文件的作用。该…

现场直击!触想智能亮相德国2023 SPS展会

当地时间11月14日上午9时 2023 年(德国)纽伦堡国际工业自动化及元器件展览会 SPS 展(以下简称&#xff1a;SPS展会)正式拉开帷幕&#xff0c;触想智能与来自全球各地的领先科技公司及前沿业者齐聚盛会&#xff0c;共赴一场科技与创新交汇的“饕餮盛宴”。 △ 2023 SPS展会开幕(…

可怕!.Net 8正式发布了,.Net野心确实不小!

随着三天.NET Conf 2023的会议结束了&#xff0c;.Net 8正式发布了。 .Net 8是官方号称有史以来性能最快的一个版本了。 .Net 8 增加了数以千计的性能、稳定性和安全性改进&#xff0c;以及平台和工具增强功能&#xff0c;有助于提高开发人员的工作效率和创新速度。 反正就是…

载誉前行 | 求臻医学MRD检测方案荣获金如意奖·卓越奖

2023年11月11日 由健康界、海南博鳌医学创新研究院 中国医药教育协会数字医疗专业委员会联合主办的 第三届“金如意奖”数字医疗优选解决方案 评选颁奖典礼 在2023中国医院管理年会上揭晓榜单并颁奖 求臻医学MRD检测解决方案 荣获第三届金如意奖最高奖项——卓越奖 这一…

ROS stm32 CAN通信

文章目录 运行环境&#xff1a;原理1.1 ros中的代码1)socketcan_bridge2)测试的ros-python包3)keil5中数据解析4)USB-CAN连接5)启动指令 运行环境&#xff1a; ubuntu18.04.melodic STM32&#xff1a;DJI Robomaster C板 ROS&#xff1a;18.04 硬件&#xff1a;USB-CAN&#x…

Vue修饰符(Vue事件修饰符、Vue按键修饰符)

目录 前言 Vue事件修饰符 列举较常用的事件修饰符 .stop .prevent .capture .once Vue按键修饰符 四个特殊键 获取某个键的按键修饰符 前言 本文介绍Vue修饰符&#xff0c;包括Vue事件修饰符以及按键修饰符 Vue事件修饰符 列举较常用的事件修饰符 .stop: …

Oneid方案

一、前文 用户画像的前提是标识出用户&#xff0c;存在以下场景&#xff1a;不同业务系统对同一个人的标识&#xff0c;匿名用户行为的行为归因&#xff1b;本文提供多种解决方案&#xff0c;提供大家思考。 二、方案矩阵 三、其他 相关连接&#xff1a; 如何通过图算法能力获…

ChatGPT助力高效办公——神奇的效率工具Airy

Airy是一款免费而又强大的高效办公软件&#xff0c;用户可以通过快捷键和丰富的内置插件&#xff0c;充分发挥GPT-3.5模型的强大功能&#xff0c;轻松实现搜索、翻译、文本生成与写作、文本概括与总结&#xff0c;同时还可以作为一款日程提醒工作&#xff0c;记录和提醒每天要做…

day17_多线程基础

今日内容 零、 复习昨日 一、作业 二、进程与线程 三、创建线程 四、线程的API 一、复习 IO流的分类 方向: 输入,输出类型: 字节(XxxStream),字符(XxxReader,XxxWriter)字节输入流类名: FileInputStream字节输出流类名: FileOutputStream字符输入流类名: FileReader字符输出流类…

为什么说MES管理系统是车间层与管理层的桥梁

随着制造业的快速发展&#xff0c;企业对于生产过程中的管理要求越来越高。为了满足这一需求&#xff0c;MES生产管理系统应运而生。MES管理系统作为车间层与管理层之间的桥梁&#xff0c;扮演着至关重要的角色。本文将探讨为什么说MES管理系统是车间层与管理层之间的桥梁。 一…