硒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

硒4 Alpha –期望什么?相关推荐

  1. selenium 4_Selenium4 Alpha –期望什么?

    selenium 4 Selenium4 Alpha-期望什么? 早在2018年8月,整个测试自动化社区就受到了一个重大新闻的打击:Selenium的创始成员Simon Stewart在班加罗尔Sel ...

  2. selenium_Selenium4 Alpha –期望什么?

    selenium Selenium4 Alpha-期望什么? 早在2018年8月,整个测试自动化社区就受到了一个重大新闻的打击:Selenium的创始成员Simon Stewart在班加罗尔Selen ...

  3. 学习在UE中使用RVT(RuntimeVirtualTexture)将物体与地形混合过渡

    前言 当物体放在地形上并与地形有穿插时,其交界处通常会看到硬接缝.在以前,使用RenderTargets是一个解决方案:将地形等信息渲染到贴图上,其他物体就可以采样这张贴图了,随后根据接近地形的程度, ...

  4. 新版本的Selenium 4 Alpha会有什么期望?

    我们所有人都属于测试领域,他们熟悉Selenium,Selenium是业界最流行的开源自动化工具之一. Selenium的创始成员Simon Stewart在2018年8月正式宣布Selenium 4 ...

  5. 强化学习(五) - 时序差分学习(Temporal-Difference Learning)及其实例----Sarsa算法, Q学习, 期望Sarsa算法

    强化学习(五) - 时序差分学习(Temporal-Difference Learning)及其实例 5.1 TD预测 例5.1 回家时间的估计 5.2 TD预测方法的优势 例5.2 随机移动 5.3 ...

  6. [概统]本科二年级 概率论与数理统计 第七讲 期望、方差与相关性

    [概统]本科二年级 概率论与数理统计 第七讲 期望.方差与相关性 期望及其性质 方差.协方差.相关性系数 两两独立.独立与相关性 虽然之前就分别介绍过离散型随机变量与连续型随机变量的期望与方差,这一讲 ...

  7. Alpha 冲刺报告(3/10)

    Alpha 冲刺报告 队名:洛基小队 峻雄(组长) 已完成:开始编写角色的移动脚本 明日计划:继续学习并进行脚本编写 剩余任务:物品背包交互代码 困难:如何把各个模块的脚本整合起来 --------- ...

  8. 真人拳皇项目Alpha阶段的回顾——史经浩

    经过一个多月艰辛的努力,我们小组终于在1/14按时发布了真人拳皇的alpha版.按照计划,这一周是总结过去这段时间的经验教训,为即将到来的beta阶段作准备.回顾刚刚过去的一个多月,从plan阶段的天 ...

  9. 【学习笔记】信息学竞赛中的概率与期望小结

    信息竞赛--概率与期望 事件 事件的蕴含.包含 事件的互斥 事件的对立 事件的和(并) 事件的积(交) 事件的差 概率 事件的独立性 全概率公式 贝叶斯公式 概率DP(竞赛中的考察) 期望(竞赛中的考 ...

最新文章

  1. 电脑DIY之内存传输标准
  2. 详解JDBC与Hibernate区别
  3. 不同服务器怎么响应ajax,如何从服务器获得响应而无需刷新和使用JQuery/AJAX?
  4. 网上书店模板asp与html,一个简单的网上书城的例子(三)_asp实例
  5. 【Servlet】Session会话跟踪技术
  6. 实战-Ueditor扩展二次开发
  7. python图书馆预约系统_python实现图书馆研习室自动预约功能
  8. 解决在极光推送的时候会出现一个 JPush提示:缺少统计代码
  9. android 自定义园动画,如何在Android中绘制一个带有动画的圆
  10. 科来网络分析系统与数据包分析
  11. 基于 Java 机器学习自学笔记 (第71-73天:BP神经网络)
  12. java 右对齐_字符串对齐器(左对齐、居中、右对齐)
  13. 了解速率控制模式:什么是 CBR、VBR、CRF和Capped-CRF?
  14. c语言如何编一个警报声音,电脑如何自定义警报的声音具体该如何操作
  15. 成都玖益科技:二级降权对于店铺发展的影响
  16. java多态练习_Java多态练习
  17. 一个Linux病毒艰辛短暂的一生
  18. 生成二维码qrcode
  19. [springboot一本通]-3.6.使用SpEL表达式绑定配置项
  20. Impala在网易大数据的优化和实践

热门文章

  1. jzoj4231-寻找神格【线段树,数学】
  2. P3368-Frequent values【线段树】
  3. OJ8462-大盗阿福【各种dp之5】
  4. 【网络流】人员雇佣(luogu 1791)
  5. 纪中A组模拟赛总结(2021.7.13)
  6. ssh免密登陆失败原因总结(Linux)
  7. Flume均匀发送数据到kafka的partition配置UUID Interceptor生成key的坑
  8. Java对象引用四个级别(强、软、弱、虚)
  9. 已知两个链表A和B分别表示两个集合,其元素递增排列。请设计算法求出两个集合A和集合B的差集(近由在A中出现而不再B中出现的元素所构成的集合),并以同样的形式存储,同时返回该集合的元素个数。
  10. 加油四班!加油佟穆!我们的征途是星辰大海!!!