Selenium的进化历程与WebDriver的创新整合,作者Simon Stewart

  1. Selenium的诞生与演变
1.1 【 项目起源 】

在2004年,Jason Huggins在ThoughtWorks公司发起了Selenium项目,并利用JavaScript创建了验证浏览器页面行为的工具。这个JavaScript类库不仅成为了Selenium的核心组件,还衍生出了seleniumRC和Selenium IDE。当时,QTP mercury是主流的商业自动化工具,而Selenium作为开源自动化工具,通过其命名展现了与化学元素硒的联系,象征着其在自动化领域的独特地位与价值。

随着Selenium 1.0的发布,这一工具开始在自动化测试领域崭露头角,为开发者们提供了全新的测试体验。

1.2 【 Selenium 1.0的三大组件 】

Selenium 1.0的诞生,标志着这一自动化测试工具在功能上的完善与成熟。它融合了Selenium IDE、Selenium Grid和Selenium RC三大核心组件,为开发者们提供了更加强大且灵活的测试解决方案。其中,Selenium IDE 是 Firefox 浏览器的一个插件,具备简单的浏览器操作录制与回放功能。Selenium Grid 可以充分利用现有计算机基础设施来加速 Web-App 的功能测试,通过 Grid,测试人员可以轻松地在多台机器和不同环境中并行执行测试用例。Selenium RC(Remote Control)是Selenium工具套件中的核心组件,支持使用多种编程语言编写自动化测试脚本,并通过Selenium RC服务器作为代理来访问和测试Web应用。

  1. WebDriver的创新与合并
2.1 【 WebDriver的开创 】

在2006年,Google的Simon Stewart发起了WebDriver,旨在改善Selenium RC的局限性。通过直接操控浏览器,WebDriver实现了更高级的测试,并克服了JavaScript安全模型的限制。它利用原生浏览器支持或浏览器扩展来直接操控浏览器,与浏览器深度集成,还结合了操作系统级的调用以模拟用户输入,提供了更丰富的测试功能。

2.2 【 与Selenium的合并 】

尽管Selenium与WebDriver最初是两个独立的项目,但它们的创建者Simon Stewart在2009年8月的一份邮件中阐述了项目合并的决策。Selenium和WebDriver在2009年合并以取得最佳框架,结合了Selenium广泛的浏览器支持和WebDriver的先进API。

2.3 【 Selenium 2.0的形成 】

随着合并,Selenium 2.0应运而生,简而言之,Selenium 2.0就是Selenium 1.0与WebDriver的完美结合。在Selenium 2.0中,WebDriver成为了主推的技术,可以被视为Selenium RC的继承与升级。尽管Selenium为了保持兼容性,并未在Selenium 2.0中完全摒弃Selenium RC,但掌握WebDriver无疑是学习Selenium 2.0的核心。

  1. Selenium 3.0的发布
3.1 【 Selenium3.0的特性更新 】

直到2016年7月,Selenium 3.0终于悄然亮相 ,首个beta版在众人惊喜中发布。相较于前代,Selenium 3.0带来了诸多显著的更新与改进:首先是RC(Remote Control)组件的彻底移除,标志着Selenium更为简洁和高效的架构实现。Selenium3.0仅兼容Java8及更高版本,Firefox浏览器驱动已独立出来,不再与Selenium2中的版本一致。MAC OS系统已集成了Safari的浏览器驱动,其默认路径位于/usr/bin/safaridriver目录下,而Selenium 3.0仅支持IE 9.0及更高版本。

相关推荐
专注API从业者2 小时前
淘宝商品详情 API 与爬虫技术的边界:合法接入与反爬策略的技术博弈
大数据·数据结构·数据库·爬虫
鲁邦通物联网3 小时前
储能异构设备接入架构:基于低代码引擎的边缘协议转换与动态映射实现详解
数据采集·工业数据采集·边缘网关·边缘计算网关·物联网网关·5g数采·边缘计算盒子
ZC跨境爬虫4 小时前
Scrapy工作空间搭建与目录结构解析:从初始化到基础配置全流程
前端·爬虫·python·scrapy·自动化
深蓝电商API5 小时前
分布式爬虫在海淘数据采集中的应用
爬虫·反向海淘
小白学大数据5 小时前
Scrapy 分布式爬虫:大规模采集汽车之家电车评论
开发语言·分布式·爬虫·scrapy
跨境麦香鱼5 小时前
Playwright vs Puppeteer:2026自动化任务与爬虫工具如何选?
运维·爬虫·自动化
北冥有羽Victoria6 小时前
OpenCLI 操作网页 从0到1完整实操指南
vscode·爬虫·python·github·api·ai编程·opencli
深蓝电商API6 小时前
反向海淘商品信息爬虫开发实战
爬虫·跨境电商·反向海淘
小恰学逆向6 小时前
【爬虫JS逆向之旅】某球网参数“md5__1038”逆向
javascript·爬虫
代码的乐趣7 小时前
支持selenium的chrome driver更新到147.0.7727.56
chrome·python·selenium