Selenium4前线快报
自2018年发布以来,Selenium
框架的最新版本Selenium 4
已成为人们谈论的话题。Selenium 4
显而易见即将引领潮流,因为它拥有许多新功能和增强功能。虽然没有正式宣布Selenium 4
的最终版本,但用户和测试自动化爱好者已经开始通过下载Selenium 4 Alpha
版本进行探索和试验。
之前也分享过Selenium 4
的一些路边消息:
尽管Selenium
具有各种语言兼容性,如Java
、C#
、Python
、JavaScript
、Ruby
和PHP
,本文基于Selenium 4.0.0-alpha-7
版本进行分享和实践。
Selenium 4不同之处
为了回答这个问题,我们将在Selenium 3 vs Selenium 4
对比不同部分快速演示Selenium 4
提供的新功能:
W3C标准化
在Selenium 3
中,JSON Wire Protocol
是测试代码和Web 浏览器
之间的主要通信模式。ChromeDriver
、GeckoDriver
等主流浏览器驱动都遵循W3C
标准。这导致Selenium 4
根据W3C
协议对请求进行编码和解码。
在底层,Selenium 4
使用WebDriver W3C
协议。这消除了Selenium 3
中JSON Wire Protocol
所需的编码和解码开销。这一重大的架构变化将导致Selenium 4
的跨浏览器测试(即跨不同版本和类型的浏览器的测试)更加稳定。
Selenium 4 IDE
Selenium 4
中的IDE
不仅仅是一个基本的播放和记录测试工具。与Firefox
一起,它可用于Chrome
浏览器(作为 Chrome
扩展程序)。
Selenium 4 IDE
中的SIDE Runner
工具允许您在本地Selenium Grid
和基于云的Selenium Grid
上并行运行 Selenium
测试。而导出功能使测试能够以Selenium
支持的语言(如 Python、C#、Java 等)导出录制的测试。Selenium 4 IDE
是一个更新的超级有用的产品,仅在Selenium 4
中可用。
Selenium网格
如果你是Selenium 3
用户,就会明白每次要在网格上执行自动化测试时启动Hub
和Node.jar
是多么痛苦。分布式测试执行都将随着Selenium 4
中优化的Selenium Grid
发生质的变化。
在Selenium Grid 4
中,Hub
和Node
打包在一个jar
文件中。Selenium Grid 4
具有更具可扩展性和可追溯性的基础架构,支持四个进程——路由器、会话映射、分发服务器和节点。改进的GUI
和对Docker
的内置支持是测试人员在Selenium Grid 4
中获得的一些额外好处。
Chrome 开发者工具
在Selenium 4
中,通过DevTools
接口原生支持Chrome DevTools Protocol (CDP)
。Chrome DevTools
界面的API
将使问题诊断和页面的即时编辑变得更加容易。
CDP
的原生支持将有助于更轻松地模拟Selenium 4
中的地理位置和网络条件。使用Selenium 4
,测试工程师可以通过在代码中模拟地理位置来测试为全球受众构建的Web 产品
。同时,还可以检查产品在不同网络条件(例如 3G、4G 等)下的表现。
相对定位器
在Selenium 3
中,必须在适当的WebElement
上使用一系列findelement
命令来定位其附近的元素。没有找到位于/等上方/下方/右侧的元素的捷径。
Selenium 4 Alpha
中新引入的相对定位器(上方、下方、右边、左边和附近)有助于定位Web
元素相对于DOM
中特定元素的位置。
More Thing
TakeElementScreenshot API
可以捕获页面上特定WebElement
的屏幕截图。newWindow API
的引入有助于简化新窗口(WindowType.WINDOW
)或选项卡(WindowType.TAB
) 的创建。- 优化和加速调试过程。
就
Selenium 3
与Selenium 4
的比较而言,Selenium 4 (Alpha)
的整体体验要优于Selenium 3
。
Have Fun ~ Tester !
FunTester,一群有趣的灵魂,腾讯云&Boss认证作者,GDevOps官方合作媒体。
- FunTester测试框架架构图初探
- FunTester分享会第二期视频回顾
- 初遇Postman,SayHi的三种方式
- 未来的神器fiddler Everywhere
- JMeter吞吐量误差分析
- Selenium自动化:代码测试与无代码测试
- 物联网测试
- Jmeter基于webscoket测试后台服务接口实战
- 绑定手机号性能测试
- Java多线程编程在JMeter中应用
- 电子书网站爬虫实践
- Socket接口异步验证实践
- Groovy在JMeter中处理cookie
点击阅读阅文,查看FunTester历史原创集合
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南