阿里资深摸鱼测试工程师推荐——Web自动化测试学会这一招,下班早一小时

前 言

大家都知道,我们在通过 Selenium 执行 Web 自动化测试时,每次都需要启动/关闭浏览器,如果是多线程执行还会同时打开多个,比较影响工作的正常进行。那有没有办法可以不用让浏览器的自动化执行干扰我们的工作呢?

无头浏览器(Headless browser)

无头浏览器是指没有图形化界面的 Web 浏览器。

能够提供类似于普通 Web 浏览器的环境,但运行的时候是通过命令行或者网络的通讯的方式。

无头浏览器能够做啥?

目前无头浏览器主要的应用场景有以下几点

做 Web 自动化测试
对 Web 页面进行截图
Web 爬虫
无头浏览器有哪些?

Chrome Headless,Chrome 从 59 版本开始支持
Firefox Headless,Firefox 从 56 版本开始支持
PhantomJS,使用 JavaScript 编写的无头浏览器,能够支持 Windows, macOS, Linux
Splash,使用 Python 编写的无头浏览器,使用 WebKit 作为引擎
HtmlUnit,使用 Java 编写的无头浏览器,使用 Rhino engine 作为引擎
...
使用 Selenium 操作 Chrome headless

在 Mac 和 Linux 平台,Chrome 从 59 版本开始支持无头模式。而在 Windows 平台,从 60 版本才开始支持。

https://developers.google.com/web/updates/2017/04/headless-chrome

Selenium WebDriver 可以通过 API 控制 Chrome Headless,使用非常简单:

ChromeOptions options = new ChromeOptions();
//设置无头模式
options.addArguments("--headless");
ChromeDriver driver = new ChromeDriver(options);

使用 Selenium 操作 Firefox headless

从 Firefox 56 版本开始,所有平台(Windows、Mac、Linux)都支持 Firefox 的 headless 模式

以下是来自官网的说明:

https://hacks.mozilla.org/2017/12/using-headless-mode-in-firefox/?utm_source=testingpai.com

代码设置也非常简单

FirefoxOptions options = new FirefoxOptions();
options.addArguments("-headless");
FirefoxDriver driver = new FirefoxDriver(options);

使用 Selenium 操作 PhantomJS

需要注意的是,旧版本 Selenium 能够支持 PhantomJS,较新版本 Selenium 中已经不再支持了

UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead

所以 Selenium 官方推荐使用 Chrome 或者 Firefox 的无头浏览器模式了。

学习安排上
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。【保证100%免费】
 

 

视频文档获取方式:

这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java系列:什么是SSH?什么是SSM?SSH框架和SSM框架的区别

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 什么是SSH?什么是SSM?SSH框架和SSM框架的区别 前言一、什么是SSH?1.1 Struts2具体工作流程:Struts2的缺点: 1.2 Sp…

化妆品大卖!年轻女孩26天狂赚7000万!

有个年轻的女孩,我们暂且称之为小美。小美经营着一个美丽的小程序商城,里面销售着各种各样的化妆品、日用百货和小家电。这些产品并非什么稀有品牌,但价格比其他地方要优惠一些,更重要的是,购买产品还能赚到钱。 让我们…

探索港口机械设备健康管理解决方案

在当今港口行业,机械设备的健康管理对于保障港口运营的高效性和可持续发展至关重要。随着港口吞吐能力的不断增加和机械设备的复杂化,探索有效的机械设备健康管理解决方案成为了当务之急。本文将从多个方面探讨如何加强港口机械设备的健康管理。 图.港口…

openGauss学习笔记-135 openGauss 数据库运维-例行维护-检查openGauss健康状态

文章目录 openGauss学习笔记-135 openGauss 数据库运维-例行维护-检查openGauss健康状态135.1 检查办法135.2 操作步骤135.3 异常处理 openGauss学习笔记-135 openGauss 数据库运维-例行维护-检查openGauss健康状态 135.1 检查办法 通过openGauss提供的gs_check工具可以开展o…

天眼销:超有用的企业获客工具

天眼销是资深数据团队开发的一个客户资源查询平台,可以通过多重筛选:企业名称/信用代码,所在地区,行业,注册资本,年限,是否在营/有电话/邮箱等。 天眼销和某查查有什么区别? 天*查/…

【蓝桥杯选拔赛真题70】Scratch输入输出数字 少儿编程scratch图形化编程 蓝桥杯创意编程选拔赛真题解析

目录 scratch输入输出数字 一、题目要求 编程实现 二、案例分析 1、角色分析

如何做好前端单元测试?字节5年测试老司机是这样说的!

近几年,前端发展越来越迅猛,各类框架层出不穷,前端实现的业务逻辑也越来越复杂,前端单元测试也越来越受重视,包括百度在内的一些大厂在面试中也会问到单元测试相关的题目。那么前端应该如何做好单元测试? 什…

Oracle SQL优化

1、书写顺序和执行顺序 在Oracle SQL中,查询的书写顺序和执行顺序是不同的。 1.1SQL书写顺序如下: SELECTFROMWHEREGROUP BYHAVINGORDER BY 1.2 SQL执行顺序 FROM:数据源被确定,表连接操作也在此步骤完成。 WHERE:对…

kafka中的常见问题处理

文章目录 1. 如何防⽌消息丢失2. 如何防⽌重复消费3. 如何做到消息的顺序消费4. 如何解决消息积压问题4.1 消息积压问题的出现4.2 消息积压的解决⽅案 5. 实现延时队列的效果5.1 应用场景5.2 具体方案 1. 如何防⽌消息丢失 ⽣产者:1)使⽤同步发送 2&…

关于 SLO,我们需要了解什么?

什么是 SLO? SLO(Service Level Objective)是服务质量目标的短语缩写。它通常指的是维护系统的最高级别的目标,或服务等级协议(SLA)中的服务质量目标。它能够定义客户和用户在使用软件系统时所期望的服务质…

无公网IP环境如何远程访问本地内网搭建的Emby影音库服务器

文章目录 1.前言2. Emby网站搭建2.1. Emby下载和安装2.2 Emby网页测试 3. 本地网页发布3.1 注册并安装cpolar内网穿透3.2 Cpolar云端设置3.3 Cpolar内网穿透本地设置 4.公网访问测试5.结语 1.前言 在现代五花八门的网络应用场景中,观看视频绝对是主力应用场景之一&…

2024年软考高级信息系统项目管理师备考攻略

软考高级信息系统项目管理师是一项合格性考试,考试内容相对有限,因此真题的重复率较高。下一次考试与上一次相比,重复率不高,但与之前所有年份的真题相比,重复率较高。在这几次考试中,我认为最重要的是务必…