整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

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

今天笔者想和大家聊聊Python+selenium自动化生成测试报告,批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的。

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

一、导入HTMLTestRunner

1.这个模块下载不能通过pip安装了,只能下载后手动导入。

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

总结

今天的这篇文章就分享到这里了,喜欢的小伙伴记得点赞评论收藏加关注哟,关注我每天给大家不同的惊喜。

、简介

  • JavaScript 是脚本语言
    • 一种轻量级的编程语言
    • 是可插入 HTML 页面的编程代码
    • 插入 HTML 页面后,可由所有的现代浏览器执行

作用

  • 直接写入 HTML 输出流
  • 对事件的反应
  • 改变 HTML 内容
  • 改变 HTML 图像
  • 改变 HTML 样式
  • 验证输入

二、用法

2.1、位置

  • 脚本必须位于 <script></script> 标签之间
  • 可被放置在 HTML 页面的 <body> 和 <head> 部分中

2.2、引用方式

  • 内部:<script>alert("我的第一个 JavaScript");</script>
  • 外部:<script src=”myScript.js”></script>

三、输出

3.1、显示数据

  • 弹出警告框:window.alert()
  • 将内容写到 HTML 文档中:document.write()
  • 写入到浏览器的控制台:console.log()

四、基础语法

4.1、字面量

  • 数字:整数、小数、科学技术(e)
  • 字符串:单引号、双引号
  • 数组:[]
  • 对象:{}
  • 函数:function

4.2、变量

  • 声明变量:var
  • 赋值: =

4.3、操作符

  • 算术运算符:= + - * /
  • 赋值运算符:= += -=
  • 比较运算符:< > == === !=

4.4、函数

  • 关键字:function
function myFunction(a,b){return a*b;}


五、操作 HTML DOM

5.1、HTML DOM

  • 文档对象模型:Document Object Model

5.2、查找 HTML 元素

  • 通过 id:var x=document.getElementById("xx");
  • 通过标签名:var y=x.getElementsByTagName("p");
  • 通过类名:var x=document.getElementsByClassName("xx");

5.3、改变 HTML

  • 内容:document.getElementById(id).innerHTML=新的 HTML
  • 属性:document.getElementById(id).attribute=新属性值

5.4、Cookie

  • 读取:var x = document.cookie;

5.5、使用事件

  • 当用户点击鼠标时:onclick=JavaScript
  • 当网页已加载时:onload=JavaScript
  • 当图像已加载时:onunload=JavaScript
  • 当鼠标移动到元素上时:onmouseover=JavaScript
  • 当输入字段被改变时:onchange=JavaScript
  • 当用户触发按键时:onmousedown=JavaScript

六、操作 浏览器 BOM

6.1、浏览器对象模型

  • Window 对象
  • 所有浏览器都支持 window 对象。它表示浏览器窗口
  • 所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员
  • HTML DOM 的 document 也是 window 对象的属性之一

6.2、浏览器窗口

  • 获取浏览器窗口尺寸:
    • window.innerHeight - 浏览器窗口的内部高度(包括滚动条)
    • window.innerWidth - 浏览器窗口的内部宽度(包括滚动条)
  • 打开新窗口:window.open()
  • 关闭当前窗口:window.close()

6.3、用户屏幕

  • 可用的屏幕宽度:screen.availWidth
  • 可用的屏幕高度:screen.availHeight

6.4、当前页面的地址

  • 返回 web 主机的域名:location.hostname
  • 返回当前页面的路径和文件名:location.pathname
  • 返回所使用的 web 协议:location.protocol

6.5、浏览器的历史

  • 与在浏览器点击后退按钮相同:history.back()
  • 与在浏览器中点击向前按钮相同:history.forward()

霍格沃兹的测试管理班是专门面向测试与质量管理人员的一门课程,通过提升从业人员的团队管理、项目管理、绩效管理、沟通管理等方面的能力,使测试管理人员可以更好的带领团队、项目以及公司获得更快的成长。提供 1v1 私教指导,BAT 级别的测试管理大咖量身打造职业规划。

HTMLTestRunner.py 文件
下载地址: http://tungwaiyip.info/software/HTMLTestRunner.html
Windows :将下载的文件放入...\Python27\Lib 目录下。




定义HTMLTestRunner 测试报告:

stream 定义报告所写入的文件;

title 为报告的标题;

description 为报告的说明与描述。

runner.run(testunit)运行测试容器中的用例,并将结果写入的报告中。