早在2018年8月,整个测试自动化社区就发生了一件重大新闻:Selenium的创始成员Simon Stewart在班加罗尔Selenium会议上正式确认了Selenium 4的发布日期和一些重要更新。

Selenium 4.0 Alpha版本已经发布了,可以从Selenium官方网站下载。让我们回顾一下Selenium会议上宣布的功能以及此版本中提供的一些改进和附加功能。

为什么Selenium 4.0很重要

如果您认为测试自动化工程师是唯一应该关注Selenium重大更新的人员,那么您是错的。Selenium已经成为实现自定义自动测试的行业标准,并且被认为是每个Web应用程序自动化测试的首选解决方案,而该解决方案已经超出了手动功能测试可以解决问题的方法。
但是经常被遗忘的是,严重依赖Selenium的企业不仅是拥有自动化QA工程师团队的企业,而且还有很多是集成了基于Selenium的无代码自动化测试框架的企业。

基于Selenium的无代码测试已成为一种趋势。此类工具不仅使对Web浏览器有基本了解的人都可以进行部署自动化测试,而且还使运行回归测试,进行综合监视和负载测试更加容易,而无需任何Selenium框架知识。

此类无代码自动化软件的完美示例是CloudQA,有兴趣的童鞋可以自行搜索了解。

Selenium 4.0的重大变化

让我们来看看Selenium 4.0 Alpha版本的主要变化:

W3C WebDriver标准化

首先,Selenium 4 WebDriver是完全W3C标准化的。WebDriver API在Selenium之外已变得越来越重要,并已在多种自动化工具中使用。例如,诸如Appium和iOS驱动程序之类的移动测试工具在很大程度上依赖于它。W3C标准还将鼓励WebDriver API的不同软件实现之间的兼容性。

这是Selenium Grid与早期版本中的Driver可执行文件进行通信的方式:

Selenium 3.x中的测试通过本地端的有线协议与节点处的浏览器通信。这种方法需要对API进行编码和解码。

随着我们期望在Selenium 4中看到的更新,该测试将直接进行通信,而无需通过W3C协议对API请求进行任何编码和解码。尽管JAVA绑定将向后兼容,但重点将更多地放在W3C协议上。

Selenium 4 IDE TNG

Chrome的Selenium IDE支持现已可用。您可以从以下网址下载它:https://selenium.dev/selenium-ide/

众所周知,Selenium IDE是一种记录和回放工具。现在它将具有以下更丰富和高级的功能:

  • 新的插件系统。任何浏览器都可以轻松插入新的Selenium IDE。您将能够拥有自己的定位器策略和Selenium IDE插件。
    新的CLI运行器。它将完全基于NodeJS,而不是基于HTML的旧运行器,并将具有以下功能:
  • WebDriver播放。新的Selenium IDE运行程序将完全基于WebDriver。
  • 并行执行。新的CLI运行器还将支持并行测试用例执行,并将提供有用的信息,例如花费的时间,通过和失败的测试用例。

改进的Selenium网格

使用过Selenium Grid的人都知道设置和配置有多困难。Selenium Grid支持在具有并行执行功能的不同浏览器,操作系统和机器上执行测试用例。

Selenium Grid有两个主要元素:集线器和节点。

集线器充当服务器,是控制网络中所有测试机的中心点。在Selenium Grid中,只有一个集线器根据功能匹配将测试执行分配给特定节点。

简而言之,Node是实际运行测试用例的测试机器。

到目前为止,Selenium Grid的设置过程通常会导致测试人员难以将连接节点连接到集线器。

在Selenium 4中,由于不再需要分别设置和启动集线器和节点,因此使用体验变得流畅而轻松。启动Selenium服务器后,网格将同时充当集线器和节点。

硒提供三种类型的网格-

  • 独立模式
  • 集线器和节点
  • 完全分布式

新的硒服务器jar包含运行网格所需的所有内容。它具有所有依赖性。新的版本还带有Docker支持。

更好的可观察性

现在,可观察性,日志记录和调试不再局限于DevOps。作为即将发布的版本的一部分,将改进带有钩子的请求跟踪和日志记录,以使自动化工程师可以进行调试。

更新文档

文档在任何项目的成功中都起着关键作用。自Selenium 2.0发行以来,Selenium文档尚未更新。这意味着,过去几年中尝试学习Selenium的任何人都必须使用旧的教程。

因此,自然而然地,SeleniumHQ承诺将与4.0版本一起提供给我们的最新文档已经成为测试自动化社区中最受期待的Selenium更新之一。

下一期将继续分享Selenium 4 Alpha版本的实践。


技术类文章精选

非技术文章精选

Selenium 4.0 Alpha更新日志的更多相关文章

  1. Selenium 4.0 Alpha更新实践

    上期讲到了Selenium 4.0 Alpha更新日志,这次来实践一下更新内容. DevTools操作更加方便. Chrome录制更加方便.(未实践) 窗口管理不在依赖一个driver. 相对定位器功 ...

  2. Docker 1.13.0 详细更新日志

    本文讲的是Docker 1.13.0 详细更新日志[编者的话]Docker发布1.13.0版本,此次版本更新内容较多,以下为该版本具体的变更. 构建 添加在构建时可以指定镜像用作高速缓存源的功能. 这 ...

  3. [转] OpenStack Kilo 更新日志

    OpenStack 2015.1.0 (Kilo)更新日志 原文: https://wiki.openstack.org/wiki/ReleaseNotes/Kilo/zh-hans 目录  [隐藏] ...

  4. Kali Liunx 2.0震撼来袭(附下载地址、新特性和更新日志)

    Kali 2.0昨天已经在BlackHat 2015 USA上正式发布了.无论是粉丝们还是Kali官方都对这个2.0版本抱有极大的期待和热情.这是第一个基于Debian Jessie的Kali版本,此 ...

  5. WeihanLi.Npoi 1.10.0 更新日志

    WeihanLi.Npoi 1.10.0 更新日志 Intro 上周有个网友希望能够导入Excel时提供一个 EndRowIndex 来自己控制结束行和根据字段过滤的,周末找时间做了一下这个 feat ...

  6. WeihanLi.Npoi 1.13.0 更新日志

    WeihanLi.Npoi 1.13.0 更新日志 Intro 在 Github 上收到 Issue 收到网友反馈希望支持自动分 Sheet 导出,有兴趣的可以参考 Issue https://git ...

  7. AgileEAS.NET SOA中间件平台更新日志 2015-04-28

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  8. python解析git log后生成页面显示git更新日志信息

    使用git log可以查到git上项目的更新日志. 如下两个git项目,我想把git的日志信息解析成一个便于在浏览器上查看的页面. https://github.com/gityf/lua https ...

  9. Easy Sysprep更新日志-skyfree大神

    Easy Sysprep更新日志: Skyfree 发表于 2016-1-22 13:55:55 https://www.itsk.com/forum.php?mod=viewthread&t ...

随机推荐

  1. 比较一下inner join(可直接简写为join)和where直接关联

    SELECT * FROM A ,B WHERE A.ID = B.ID 是比较常用的2个表关联.之前一直用这个,后来换了家公司发现这家公司的报表大多数都是用inner join,稍微研究了一下.查阅 ...

  2. Python第五天 列表练习 元组类型 字典类型 小购物车练习

    # 反转 reverse# l=['lili','asdf','qwer','80000']# l.reverse()# print(l) # ['80000', 'qwer', 'asdf', 'l ...

  3. 关于element-ui级联菜单(城市三级联动菜单)和回显问题

    https://segmentfault.com/a/1190000020458087 这是我写的,可以去看看,希望对你们有帮助!!!

  4. Discovery and auto register

    1.Discovery 2. auto register 2.1 agent 端配置 2.2 server 端配置

  5. Install Elastic stack

    1. 安装环境 系统版本:centos 6.9 java版本:1.8.0_181 程序版本:6.6 (整个stack需保持相同的版本) 2. 安装顺序 1 Elasticsearch 2 Kibana ...

  6. HTTP基础及telnet基本用法

    HTTP概况 ​ 20世纪90年代初期,一个主要的新兴应用即万维网(World Wide Web)登上了舞台.Web是一个引起公众注意的因特网应用.Web的应用层协议是超文本传输协议(HTTP),它是 ...

  7. python3 pip报错 TypeError: 'module' object is not callable

    使用命令:python -m pip install xx即可,需要在pip前加python -m

  8. python常见字符串操作

    附: python2.x和python3.x中raw_input( )和input( )区别: 备注:1.在python2.x中raw_input( )和input( ),两个函数都存在,其中区别为r ...

  9. firebug和HTML查看源代码的区别

    1.审查元素或者开发者工具或firebug看到的html是现在实时性的内容,经过js修改的: 2.而网页查看源代码看到的是最开始浏览器收到的HTTP响应,静态的html.

  10. LESSON 3- Discrete Memory-less Sources

    1.     Entropy H[X] - bounds on Lmin 2.      Huffman’s algorithm for optimal source code