硒4 Alpha –期望什么?

硒4 Alpha-期望什么?

早在2018年8月,整个测试自动化社区就受到了一个重大新闻的打击:Selenium的创始成员Simon Stewart在班加罗尔Selenium会议上正式确认了Selenium 4的发布日期和一些重大更新。 世界最受欢迎的Web测试自动化框架的4.0版本计划于2018年圣诞节之前发布。

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

为什么硒4.0很重要

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

基于硒的无代码测试已成为每家意识到自动化重要性但没有内部质量检查专家能够实现自动化的企业的真正救星。 此类工具不仅使对Web浏览器有基本了解的任何人都可以进行部署,而且还使运行回归测试,进行综合监视和负载测试成为可能,而无需任何Selenium框架知识。

此类无代码自动化软件的完美示例是CloudQA 。 在Selenium之上,我们开发了一种工具,该工具需要团队的零努力,与第三方应用程序的集成,比以往任何时候都更容易构建测试用例,24/7来监控您的网页性能,并且成本比租用一个初级手动测试仪。

如果您想进一步了解基于Selenium的无代码自动化工具的优势,请获取免费的演示 。

硒4的重大变化

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

W3C WebDriver标准化

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

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

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

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

W3C WebDriver规范有多个贡献者,整个过程可以在GitHub上看到。

硒4 IDE TNG

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

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

  • 新的插件系统。 任何浏览器供应商现在都可以轻松插入新的Selenium IDE。 您将能够拥有自己的定位器策略和Selenium IDE插件。
  • 新的CLI运行器。 它将完全基于NodeJS,而不是基于HTML的旧运行器,并将具有以下功能:
    • WebDriver播放。

改进的硒网格

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

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

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

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

有关Selenium Grid的更多详细信息,建议阅读有关Selenium Grid的完整官方教程 。

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

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

硒提供三种类型的网格-

  1. 独立模式
  2. 集线器和节点
  3. 完全分布式

新的硒服务器jar包含运行网格所需的所有内容。 它具有所有依赖性。 新的网格还带有Docker支持。 目前,docker集成不使用UNIX域套接字,因此请确保docker守护进程正在侦听端口2375。

有关更多详细信息,请参阅-https ://github.com/SeleniumHQ/selenium/wiki/Selenium-Grid-4

更好的可观察性

“被动可观察性是进行描述性追踪的能力。”
–西蒙·斯图尔特

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

刷新文档

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

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

Selenium 4.0 Alpha版本的改进-

ChromiumDriver和DevTools:

在Selenium 3中,EdgeDriver和ChromeDriver具有从RemoteWebDriver类继承的自己的实现。 在Selenium 4中,Chromedriver和EdgeDriver继承自ChromiumDriver。 ChromiumDriver类具有预定义的方法来访问开发工具。 考虑下面的代码片段-

上面的代码创建到给定URL的会话,并执行javascript打印消息。 DevTools是一个类,具有用于获取开发人员选项的方法的类。

DevTools还可以用于性能评估并获取页面加载时间。

更好的窗口和标签管理

Selenium 4现在具有可以同时在两个不同的窗口上工作的功能。 当我们要导航到新窗口(或选项卡)并在那里打开另一个URL并执行某些操作时,此功能特别有用。

newWindow()方法根据其参数中指定的WindowType打开一个新窗口或选项卡。

相对定位器

在Selenium 4 alpha版本中,我们还可以获得相对于任何其他定位器的定位器。

  • toLeftOf():位于指定元素左侧的元素。
  • toRightOf():位于指定元素右侧的元素。
  • above():相对于指定元素位于上方的元素。
  • below():相对于指定元素位于下方的元素。
  • near():元素距离指定元素最多50个像素。 像素值可以修改。

全屏快照

现在,我们可以在Firefox中使用getFullPageScreenshotAs()方法获取完整的屏幕截图。 但是,我们无需将其类型转换为“ TakesScreenshot”界面,而是需要将其类型转换为FirefoxDriver实例。

文件src =((FirefoxDriver)驱动程序).getFullPageScreenshotAs(OutputType.FILE);

可能会有一些更有趣的功能和改进,因此继续探索!

翻译自: https://www.javacodegeeks.com/2019/12/selenium-4-alpha-what-to-expect.html

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

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

相关文章

8. 字符串转换整数 (atoi) [2022.10.21]

题目链接: 8. 字符串转换整数 (atoi) 一 题意介绍 请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C 中的 atoi 函数)。 函数 myAtoi(string s) 的算法如下: 读入字符串…

26. 删除有序数组中的重复项[2022.10.24]

题目链接力扣 难度:简单 一 题目大意 26. 删除有序数组中的重复项给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。 由于在某…

hibernate jpa_JPA / Hibernate实体状态转换的初学者指南

hibernate jpa介绍 Hibernate将开发人员的思维方式从SQL语句转移到实体状态转换。 一旦由Hibernate主动管理实体,所有更改将自动传播到数据库。 操作域模型实体(及其关联)比编写和维护SQL语句容易得多。 如果没有ORM工具,则添加新…

STL容器----map

一 基本概念 1. map/multimap map/multimap属于关联式容器,底层结构是用二叉树实现。 其中所有元素都是pair, pair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值)&#xff0…

Spring @RequestParam批注

介绍: Spring RequestParam批注可用于在处理程序方法中提取查询参数。 在本快速教程中,我们将学习其用法。 首先让我们展示一个API,该API返回具有给定名字和年龄的用户列表: RestController public class UserController {...Ge…

win10任务栏怎样居中win10任务栏居中设定教程

win11系统内置任务栏居中的设置项,但是win10系统没有,倘若win10顾客也想让自己的任务栏居中的话,应当怎样设置呢?你先撤销任务栏锁住,随后新建菜单栏。之后选定一个空白文件夹,之后任务栏就会发生两条竖杠&…

java与java ee_RxJava + Java8 + Java EE 7 + Arquillian =幸福

java与java ee微服务是一种体系结构样式,其中每个服务都实现为一个独立的系统。 他们可以使用自己的持久性系统(尽管不是强制性的),部署,语言等。 由于系统由一个以上的服务组成,因此每个服务将与其他服务…

【PPT】折线线条怎么画?

大家晚上好~ 今天跟大家分享3种绘制折线线条的方法。在模仿PPT的时候发现没有折线形状,这可怎么好呢? 今天带来了3种快速制作折线线条的方式,让我们一起围观学习吧~ 方法1 形状布尔运算出折线线条 在PPT默认的形状里没有折线,那…

创建通用数组的问题

在这篇文章中,我们将介绍一篇全面的文章,其中介绍了创建通用数组的问题。 Java编程语言于2004年9月在Java 5.0“ Tiger”发行版中添加了泛型。 泛型或类型参数化系统在提供类型安全性的同时扩展了Java现有的类型系统。 1.简介 Java具有Collections Fram…

Citavi阅读PDF文件中目录位置

一般阅读pdf文件,如果文件内内嵌目录数据,可以根据目录,跳转到PDF文件的对应章节。 citavi也不例外 citavi调出目录章节位置如下图所示: 1. 点击左下方的搜索框 2. 点击目录标志 即可调出目录窗口

Ubuntu下命令行解析

Linux命令通常由以下三部分组成:Command [-option] [argument] 其中,命令为程序的名称。选项和参数可以省略 选项中one dash(-)与two dashes(--)区别 使用命令时常看到有时候为选项为-,有时候…

使用JMeter进行性能测试

在开发复杂的高可用性软件项目时,性能至关重要。 在当今这样的现代时代尤其如此,除了闪电般的快速访问实时数据之外,其他任何事情都受到惩罚。 当谈论有时需要的大量数据时,这并不总是一件容易的事。 在本文中,我们将…

Unix系统用户下载内容存放位置

1.Unix文件目录含义 首先注意usr 指 Unix System Resource,而不是User 然后通常: /usr/bin下面的都是系统预装的可执行程序,会随着系统升级而改变。 /usr/local/bin目录是给用户放置自己的可执行程序的地方,推荐放在这里&…

Linux depmod功能说明

Linux depmod 命令用于分析可载入模块的相依性。 depmod(depend module)可检测模块的相依性,供modprobe在安装模块时使用。 Linux modprobe命令用于自动处理可载入模块。 modprobe可载入指定的个别模块,或是载入一组相依的模块。modprobe会根据depmod…

jboss eap_带有自定义模块的JBoss EAP上的骆驼

jboss eapApache Camel —最好的开源集成库 Apache Camel是一个很棒的开放源代码集成库,可以用作ESB的主干或在独立的应用程序中进行系统的路由,转换或中介(请参阅:集成多个系统)。 Camel非常通用,不会迫使…

ubuntu下安装openMPI

首先访问openmpi官网:Openmpi 然后选择Download,进入资源下载页面。选择最新版本的openmpi 如何获得下载链接呢?将鼠标放在openmpi-4.0.5.tar.gz 上右击,然后选择复制链接地址。打开远程命令窗口,进入root或者用户模式。 (1)、下…

前6个最常用的Redis库

Redis目前 是世界上最受欢迎的键值商店, 它通过提供高速和低延迟以及针对应用程序开发人员的灵活功能集,赢得了广泛的采用率 。 Redis是一个内存数据结构存储,用作根据BSD许可分发的数据库,缓存和消息代理 。 许多领先的技术品牌…

拓扑排序算法总结

知识概览 求图的拓扑序是图的宽搜的一个很经典的应用,拓扑序列是针对有向图来说的。 拓扑序列的定义是: 如果说一个点的序列满足对于图中的每条有向边(x, y),x都出现在y的前面,那就称这个序列是这个图的拓扑序列。 备注&#xff…

Ns3使用MPI加速仿真速度

Ns3中在大规模拓扑仿真中,为加速仿真速度,可以利用MPI工具,实现多进程联合仿真。 linux系统下安装openmpi. 参考链接# ubuntu下安装openMPI成功运行ns-3中的文件 命令1:sudo gedit /etc/profile打开文件,加入ns-3的路径: 最后此文…

代码中 #ifdef注释方法的使用

1 代码中 #ifdef注释方法的使用 #ifdef的使用 #ifdef _XXXX ...程序段1... #else ...程序段2... #endif如果标识符_XXXX已经被#define定义,则编译程序段1,否则编译程序段2.#else非必须,可不存在程序段&am…