早在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. Apache安装问题:APR not found

    资料来源:Apache遇到的问题:APR not found 安装apache时出现arp错误问题 按照以上文章试验之后整理如下: #./configure --prefix……检查编辑环境时出现: ...

  2. C++中对C的扩展学习新增语法——强制类型转换

    类型转换:主要进行指针类型转换,因为在C++中,不同类型指针不允许隐式转换,任何一个程序中如果出现了大量的类型转换,说明该程序不是太好的程序. 注意事项: 不同类型指针不允许隐式转换: void* 类 ...

  3. SpringBoot系列教程JPA之指定id保存

    原文链接: 191119-SpringBoot系列教程JPA之指定id保存 前几天有位小伙伴问了一个很有意思的问题,使用 JPA 保存数据时,即便我指定了主键 id,但是新插入的数据主键却是 mysq ...

  4. nyoj 773-开方数 (pow)

    773-开方数 内存限制:64MB 时间限制:1000ms 特判: No 通过数:3 提交数:8 难度:3 题目描述: 现在给你两个数 n 和 p ,让你求出 p 的开 n 次方. 输入描述: 每组数 ...

  5. Linux入门之简介

    1.啥是linux? Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户.多任务.支持多线程和多CPU的操作系统. 它能运行主要的Unix工具软件.应用程序 ...

  6. I/O多路复用模型

    背景 在文章<unix网络编程>(12)五种I/O模型中提到了五种I/O模型,其中前四种:阻塞模型.非阻塞模型.信号驱动模型.I/O复用模型都是同步模型:还有一种是异步模型. 想写一个系列 ...

  7. Running serveral https server on a single IP address

    Nginx 在一个IP上配置多个https server时,默认只会发送默认server name的证书.这是由ssl 协议本身行为导致的:先建立ssl connection,后发送http请求.即n ...

  8. 百度杯 十一月 的一道pwn题复现

    拿到题后,就直接开鲁.. /ctf/pwn# checksec pwnme [*] '/ctf/pwn/pwnme' Arch: amd64--little RELRO: Full RELRO Sta ...

  9. 【集合系列】- 深入浅出的分析 Hashtable

    一.摘要 在集合系列的第一章,咱们了解到,Map 的实现类有 HashMap.LinkedHashMap.TreeMap.IdentityHashMap.WeakHashMap.Hashtable.P ...

  10. Oracle数据库索引

    Oracle数据库索引 在关系数据库中,索引是一种与表有关的数据库结构,它可以使对应于表的SQL语句执行得更快.索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容. 对于数据库来说,索 ...