selenium 4

Selenium4 Alpha-期望什么?

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

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

为什么Selenium4.0很重要

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

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

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

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

Selenium4的重大变化

让我们来看看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上看到。

Selenium4 IDE TNG


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

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

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

改进的Selenium网格

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

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

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

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


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

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

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

Selenium提供三种类型的网格-

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

新的Selenium服务器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

selenium 4

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

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

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

  2. 硒4 Alpha –期望什么?

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

  3. selenium_Selenium4 Alpha –期望什么?

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

  4. Selenium 4相对定位器如何改变您的测试方式?

    网页可以包含许多Web元素或GUI元素,例如单选按钮,文本框,下拉菜单,输入等.Selenium自动化测试中的Web定位器用于对页面的Web元素执行不同的操作. 毫不奇怪,作为新的Selenium用户 ...

  5. 展望2023,软件测试的走势分析详情

    技术在不断发展,几年前的技术到现在可能已经落伍了.特别是在软件开发和测试领域在不断创新,并可能将人工智能.机器学习.大数据等新兴技术结合起来的当下. 无论是selenium测试自动化.浏览器兼容性测试 ...

  6. 关于Selenium3在MicrosoftEdge浏览器中出现的问题

    前言 最近在做web自动化测试,所用环境是java+selenium3.141.59+MicrosoftEdge(Chromium)浏览器. 在调试的过程中,出现了很多问题.比如selenium3在E ...

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

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

  8. 【Alpha】Phylab 展示博客

    目录 Phylab Alpha 展示博客 一.团队简介 二.项目目标 2.1 典型用户 2.2 功能描述 2.3 用户量 三.项目发布与展示 3.1 新功能 3.2 修复缺陷 3.3 问题与限制 3. ...

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

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

最新文章

  1. eclipse中jboss启动时50s错误提示
  2. 3dContactPointAnnotationTool开发日志(二二)
  3. Java实现算法导论中朴素字符串匹配算法
  4. VM安装CentOS6.8虚拟机
  5. Shell 计算两个数的加减乘除取余(+、-、*、\、/)
  6. 远端WWW服务支持TRACE请求漏洞修复(linux)
  7. java 操作系统 模拟 daima_编写一个程序,利用Java语言模拟操作系统进程调度管理...
  8. C语言程序所以,C语言程序(1)
  9. 【ffmpeg】overlay带有透明通道的视频
  10. 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符go时,第一个只出现一次的字符是g。当从该字符流中读出前六个字符“google时,,,(C++实现)
  11. ubuntu 备份mysql数据库_Ubuntu Server下MySql数据库备份脚本代码
  12. My97DateTimePicker使用说明
  13. bcprov-jdk15on 简介、中文文档、中英对照文档 下载
  14. html文本如何逐渐淡入,CSS如何实现文字淡入效果
  15. mysql wating for_MySQL:关于Wating for Slave workers to free pending events等待
  16. 2020年还需要阅读的10篇人工智能论文(附链接)
  17. 诗词大全给力版_热卖20万套的网红古诗词日历来了!全新开启2021诗意生活
  18. Spring/SpringBoot系列之Spring中涉及的9种设计模式【七】
  19. 广东省计算机一级网络题分值,2018年一级计算机等级考试题型和分值
  20. 全球首发护舒宝敏感肌系列 小豆子李子璇也Pick的姨妈CP

热门文章

  1. 牛客题霸 [矩阵查找] C++题解/答案
  2. CF1369F-BareLee【博弈论,SG函数】
  3. P3586-[POI2015]LOG【线段树】
  4. 欢乐纪中B组周五模拟赛【2019.3.8】
  5. 【DP】【树状数组】方伯伯的玉米田/优美玉米(luogu 3287/金牌导航 数据结构优化DP-5)
  6. 照看小猫(nowcoder 217602)
  7. 纪中C组模拟赛总结(2019.7.9)
  8. Spark入门(四)Idea远程提交项目到spark集群
  9. springboot手动提交kafka offset
  10. Redis的3个高级数据结构