Selenium 4即将发布:每个QA都应该知道的
Simon Stewart(Selenium的创始成员)在班加罗尔的Selenium大会议上正式确认了Selenium4.0的发布日期和一些主要更新。我们先来提前了解一下Selenium 4.0将会带来哪些变化。
Selenium 4.0发布会日期
熟悉Selenium 3.0发布背后故事的人知道,早2013年Selenium团队就放出消息将在圣诞节发布Selenium 3.0,可是,直到2016年Selenium3.0才正式发布会,它比最初发布时承诺的时间晚了三年。
Selenium4.0同样承诺要在圣诞节发布,但这显然不可能是2018年的圣诞节了。截至今天(2019年2月),我们仍然没有看到Selenium4.0发布的消息。
没有任何创始成员对具体发布日期的进行官方更新,但我们在官方Github上看到,贡献者只完成了需要完成任务的一半,因此我们可以假设发布可能要到2019年圣诞节才会到来。
在这里看到Selenium 4.0 项目的进展:
https://github.com/SeleniumHQ/selenium/projects/2
为什么Selenium 4.0很重要?
如果你认为自动化测试工程师是世界上唯一关心Selenium更新的人,那你就错了。
Selenium已经成为实现自动化测试的行业标准,成为Web应用程序进行自动化测试的首选,用于辅助完成大量手工测试。
但是经常被忽略的是,那些严重依赖Selenium的企业,他们不仅是拥有自动化QA工程师的团队,他们所使用的无代码自动化工具也是基于Selenium开发的。例如RobotFramework,它可以让不懂代码的同学也可以使用Selenium进行Web自动化测试。
基于Selenium的无代码自动化工具已经成为每个企业真正的救命稻草,它们意识到自动化的重要性,但没有能够实施自动化的内部QA专家。这些工具不仅可以使任何对Web浏览器有基本了解的人员进行部署,而且可以在不了解Selenium框架的情况下运行回归测试,进行质量监控和负载测试。
Selenium 4.0 带来了哪些大的改变?
根据Simon Stewart在Selenium大会上的演示,现在,让我们来看看SeleniumHQ承诺在即将发布的版本中添加或更新了哪些功能。
W3C WebDriver 标准化
首先,Selenium 4 WebDriver将完全符合W3C标准。WebDriverAPI已经发展成为Selenium以外的相关产品,并已经应用于多种自动化工具中。例如,像Appium和iOSDriver这样的移动测试工具严重依赖它。W3C标准还将鼓励WebDriver API的不同软件实现之间的兼容性。

在Selenium 3.x 版本中,通过协议传输JSON格式的指令到不同的分支节点,然后,再通过浏览器驱动,驱动不同的浏览器执行,这种方法在指令传输的过程中需要API的编码和解码。
通过在Selenium 4.0中看到的更新,指令将直接进行通信,而无需通过W3C协议对API请求进行任何编码和解码。虽然JAVA绑定将向后兼容,但重点仍将放在W3C协议上。将不再使用JSON格式的指令。
W3CWebDriver规范有多个贡献者,整个过程可以在GitHub上看到。
https://github.com/w3c/webdriver
Selenium IDE

大家都知道,Selenium IDE是一个录制和回放浏览器插件,它支持Chrome浏览器。现在将提供以下更丰富和更高级的功能:
新的插件系统:
任何浏览器厂商都可以轻松的实现Selenium IDE插件的支持。你将能够拥有自己的定位器策略和Selenium IDE插件。
新的CLI运行器。
它将完全基于NodeJS,而不是旧的基于HTML的运行程序,并将具有以下功能:
1、WebDriver回放。新的SeleniumIDE运行器将完全基于WebDriver。
2、并行执行。新的CLI运行程序还将支持并行测试用例的执行,并将提供有用的信息,如执行时间,以及多测试用例通过和失败。
Selenium Grid 的改进
使用过Selenium Grid的同学都知道设置和配置它挺麻烦的。 Selenium Grid支持在不同的机器上执行测试用例,可以用于验证不同的操作系统、浏览器下用例的执行情况。

SeleniumGrid有两个主要部分:Hub和Node。
Hub充当服务器,是控制网络中所有测试机器的中心点。在Selenium Grid中,只有一个Hub根据环境匹配将测试执行分配给不同的Node。
简而言之,Node是测试用例实际运行的测试机器。
在Selenium 4.0中,SeleniumGrid体验有望变得流畅和简单,因为不再需要单独设置和启动Hub和Node。一旦启动Selenium服务器,SeleniumGrid将充当Hub和Node。
Selenium4.0将提供更稳定的Selenium Grid,以消除所有线程安全漏洞,并更好地支持Docker。
在大会上还特意强调了Selenium 4.0的将会提供一个更加用户友好的Selenium Grid UI,其中包含Session运行、容量等的所有相关信息的展示。
更好的可观察性
“Passiveobservability is the ability to do descriptive tracing.”
– Simon Stewart
可观察性,日志记录和调试现在不再局限于DevOps。作为即将发布版本的一部分,将改进对钩子的请求跟踪和日志记录,以便为自动化工程师提供调试。
更新的文档
文档在任何项目的成功中起着关键作用。自从Selenium 2.0发布以来,Selenium文档尚未更新。Selenium官网上的内容并没做到很好的同步,在过去的几年里,任何试图学习Selenium的同学都不得不使用旧的教程。
因此,SeleniumHQ承诺提供的更新和最新文档,这是Selenium 4.0版本,测试自动化社区中最受期待的Selenium更新之一。
同时,您仍然可以访问所有现有的Selenium文档。
https://seleniumhq.github.io/docs/
总结:
我们列出了Selenium 4最终发布时我们可能会看到的所有重大变化。如果你有兴趣了解更多关于框架背后的故事,它的创始成员以及有关Selenium将具有的新功能的更多信息,我们建议观看2018年Selenium会议的视频,会议视频:
Selenium 4即将发布:每个QA都应该知道的的更多相关文章
- 每个极客都应该知道的Linux技巧
每个极客都应该知道的Linux技巧 2014/03/07 | 分类: IT技术 | 0 条评论 | 标签: LINUX 分享到:18 本文由 伯乐在线 - 欣仔 翻译自 TuxRadar Linux. ...
- 隔壁小孩都要知道的Drupal配置
i春秋作家:Arizona 原文来自:隔壁小孩都要知道的Drupal配置 隔壁小孩都要知道的Drupal配置 Drupal是一个开源的PHP内容管理系统,具有相当复杂的架构.它还具有强大的安全模型.感 ...
- PDB文件:每个开发人员都必须知道的 PDB Files
PDB文件:每个开发人员都必须知道的 PDB Files: What Every Developer Must Knowhttp://www.wintellect.com/CS/blogs/jro ...
- 每个开发者都应该知道的SOLID原则
每个开发者都应该知道的SOLID原则 单一职责原则(SRP) 它为什么违反了 SRP? 这种设计将来会带来什么问题? 开闭原则(OCP) 如何使它(AnimalSound)符合 OCP? 里氏替换原则 ...
- 每一个JavaScript开发者都应该知道的10道面试题
JavaScript十分特别.而且差点儿在每一个大型应用中起着至关关键的数据.那么,究竟是什么使JavaScript显得与众不同,意义非凡? 这里有一些问题将帮助你了解其真正的奥妙所在: 1.你能 ...
- 关于Unicode,字符集,字符编码,每个程序员都应该知道的事
关于Unicode,字符集,字符编码,每个程序员都应该知道的事 作者:Jack47 李笑来的文章如何判断一个人是否聪明?中提到: 必要.清晰.且准确的概念,是一切思考的基石.所谓思考,很大程度上,就是 ...
- HTTPS是如何保证连接安全:每位Web开发者都应知道的
“HTTPS协议的工作原理是什么?”这是我在数天前工作项目中需要解决的问题. 作为一名Web开发者,我当然知道 HTTPS 协议是保障用户敏感数据的好办法,但并不知道这种协议的内在工作机制. 它怎么保 ...
- pdb文件 PDB文件:每个开发人员都必须知道的 .NET PDB文件到底是什么?
pdb文件包含了编译后程序指向源代码的位置信息,用于调试的时候定位到源代码,主要是用来方便调试的. 在程序发布为release模式时,建议将 pdb文件删除, 同时,对外发布的时候,也把 pdb删除, ...
- 每个Java开发人员都应该知道的10个基本工具
大家好,我们已经在2019年的第9个月,我相信你们所有人已经在2019年学到了什么,以及如何实现这些目标.我一直在写一系列文章,为你提供一些关于你可以学习和改进的想法,以便在2019年成为一个更好的. ...
随机推荐
- AI应用开发实战 - 手写识别应用入门
AI应用开发实战 - 手写识别应用入门 手写体识别的应用已经非常流行了,如输入法,图片中的文字识别等.但对于大多数开发人员来说,如何实现这样的一个应用,还是会感觉无从下手.本文从简单的MNIST训练出 ...
- require.js简单入门
推荐文章:http://www.ruanyifeng.com/blog/2012/11/require_js.html 1.以下例子主要实现功能, 1)引用jq库获取dom中元素文本, 2)实现并引用 ...
- 【STM32H7教程】第2章 STM32H7的开发环境搭建
完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第2章 STM32H7的开发环境搭建 本章主要为大 ...
- ansible基础-安装与配置
一 安装 1.1 ansible架构 ansible是一个非常简单的自动化部署项目,由python编写并且开源.用于提供自动化云配置.配置文件管理.应用部署.服务编排和很多其他的IT自动化需求. an ...
- 我们为什么要搞长沙.NET技术社区(4)
我们为什么要搞长沙.NET技术社区(4) 邹溪源,2019年3月7日 Ps:文中的.NET 包括且不限定于传统.NET Framework技术和.NET Core技术. 1. 楔子 昨天(201 ...
- 【机器学习】--主成分分析PCA降维从初识到应用
一.前述 主成分分析(Principal Component Analysis,PCA), 是一种统计方法.通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分. ...
- Jenkins高级用法 - Jenkinsfile 介绍及实战经验
系列目录 1.Jenkins 安装 2.Jenkins 集群 3.Jenkins 持续集成 - ASP.NET Core 持续集成(Docker&自由风格&Jenkinsfile) 4 ...
- Redis 概念以及底层数据结构
Redis 简介 REmote DIctionary Server(Redis) 是一个由SalvatoreSanfilippo写的key-value存储系统. Redis是一个开源的使用ANSI C ...
- WinDbg调试C#技巧,解决CPU过高、死锁、内存爆满
软件安装 安装问题:执行 .loadby sos clr 命令无效 解决办法: .load C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SOS.dl ...
- C#代码安装Windows服务(控制台应用集成Windows服务)
最近在为一款C/S架构的科研软件开发云计算版,需要用到WCF,考虑到不需要什么界面以及稳定性,无人值守性,准备用Windows Service作为宿主,无奈Windows Service的安装太为繁复 ...