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

2023-09-22 15:38:24

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

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


一、导入HTMLTestRunner

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

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测试报告

 


2.5 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),其它的断言方法请自行偿试)


 总结:

Web自动化测试全套实战教程:Python+Selenium4环境搭建

更多推荐

安卓恶意应用识别(三)(批量反编译与属性值提取)

前言上篇说到对安卓APK反编译,本篇实现批量反编译和批量特征提取及计算,主要就是通过python代码与cmd进行批量化交互,我在写文章之前,尝试批量下载了安卓apk(大约10来个),发现现在这个应用软件不是一般的大啊,无奈电脑内存不太够,现仅将已下载10个apk作为示例展示。1.批量反编译思路是这样:第一步:调用cmd

一文熟悉Latex论文排版

相信计算机专业或者写过专业论文的同学都知道,使用Office或者WPS来控制论文的格式有多么复杂和繁琐,甚至有时候花在改论文格式上的时间甚至超过了写论文的时间,因此我们急需要使用一种更加专业实用的排版工具来满足我们的论文排版需求,因此,Latex应运而生!1.LaTex概述LaTex是一个专业的排版工具,LaTex在世

窜货采买第三方怎么选择

窜货溯源服务听起来并不难,无非就是买货,但是否能买到货,同时在买到之后能否顺利完成溯源工作,也是非常有学问的,很多品牌会选择第三方服务商进行采买合作,这样可以规避品牌自己操作时的不合规性,因为自查如果不严谨的话,是容易造成“假数据”的,所以类似窜货采买这种涉及较多面的治理动作,与第三方合作会更加正确。要看第三方是否有相

RabbitMQ —— 延迟队列

前言前面荔枝梳理了有关死信队列的知识,延伸过来我们可以借助死信队列来理解延时队列。在实际需求中我们总是不可避免地需要一些定时任务,为了避免大量的计时操作消耗性能,我们常常采用的是延时队列来存储相应的消息,这时候死信队列的特点就出现了,死信队列使用的一个前提就是消息的TTL过期。在这篇文章中,荔枝会梳理延迟队列的相关知识

记RestTemplateBuilder奇诡的坑

前言在紧张的开发工作中,总能遇到一些奇怪的问题。今天的主角是RestTemplateBuilder。问题描述由于某些原因,我需要一个不检查HTTPS证书的RestTemplate。但是不管我怎么搞,就是依然会被检查到证书而抛出请求异常!在构建RestTemplate时,我使用了RestTemplateBuilder.(

央媒发稿不能改?媒体发布新闻稿有哪些注意点

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。“央媒发稿不能改”是媒体行业和新闻传播领域的普遍理解。央媒,即中央主要媒体,是权威性的新闻源,当这些媒体发布新闻稿或报道时,其他省、市或地方的媒体在转载时一般不对原文内容进行修改,以保证信息的一致性和权威性。其次,在我们给央媒提供新闻稿件时,需要注意以下细节,因为央

logsim&worldsim&场景库

logsimLogsim是由路测数据提取的场景,提供复杂多变的障碍物行为和交通状况,使场景充满不确定性。简单理解就是路测时录制log,通过平台回放log实现场景重现。Logsim数据来源于真实的路测,是最真实,正确有效的。但是Logsim数据的内容通常无法根据需求进行更改。举个例子,比如路测的时候,有一些需要人工接管的

【教程】微信小程序导入外部字体详细流程

前言在微信小程序中,我们在wxss文件中通过font-family这一CSS属性来设置文本的字体,并且微信小程序有自身支持的内置字体,可以通过代码提示查看微信小程序支持字体:这些字体具体是什么样式可以参考:微信小程序--字体展示_别动我的指针的博客-CSDN博客字体一font-family:‘CourierNew’,C

PgSQL-安全加固实践-如何设置非全零监听

PgSQL-安全加固实践-如何设置非全零监听1、介绍PgSQL在启动前需要配置listen_addresses配置项,该配置项表示允许PgSQL服务监听程序绑定的IP。我们知道一个host上可以有多个网卡,每个网卡可以绑定多个IP,该参数就是控制PgSQL服务绑定在哪个或者哪几个IP上。即控制服务使用哪个网络接口进行监

【笔试强训选择题】Day43.习题(错题)解析

作者简介:大家好,我是未央;博客首页:未央.303系列专栏:笔试强训选择题每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!!!文章目录前言一、Day43习题(错题)解析总结前言一、Day43习题(错题)解析1.解析:B题目解析:知识点解析:synflood攻击:synflood攻击又叫syn泛洪攻击;有一

【HCIE】07.MPLS VPN单域

MPLSVPN典型应基本组网IntranetVPN1和VPN1一对,VPN2和VPN2是一对ExtranetVPN1和VPN2都能与VPN1建立连接,VPN1与VPN2之间不能建立连接Hub&SpokeMCE组网多CE组网PE是运营商设备,CE是用户侧设备,如果CE较多,那么运营商需要建很多PE和链路,投入成本较大CE

热文推荐