selenium工作原理

原文链接:https://blog.csdn.net/weixin_67603503/article/details/143226557

启动浏览器和绑定端口

当你创建一个 WebDriver 实例(如 webdriver.Chrome())时,Selenium 会启动一个新的浏览器实例,并为其分配一个特定的端口。这个浏览器实例充当了一个远程服务器。

客户端与服务器的通信

客户端:你的测试脚本充当客户端,它通过 CommandExecutor 将命令发送给 WebDriver 服务器。

HTTP 请求:使用 WebDriver Wire Protocol,客户端通过 HTTP 请求与服务器通信。请求的主体使用 JSON 格式,告诉webDriver (浏览器驱动)我们希望浏览器接下来做什么事情。

WebDriver Wire Protocol

这个协议定义了一组标准的 HTTP 请求和响应格式,使得不同的 WebDriver 实现(如 ChromeDriver、GeckoDriver 等)能够一致地处理命令和返回结果。

请求包括各种操作,例如打开网页、查找元素、模拟点击等。请求格式通常包含方法(如 GET、POST)、路径和请求体。

服务器端的操作

服务器端(即浏览器驱动)接收来自客户端的请求,并将其解析为浏览器的本地命令。每个驱动程序都需要实现具体的逻辑,将通用的 WebDriver 命令转换为对应浏览器的原生调用。

例如,ChromeDriver 会使用 Chrome 浏览器的 DevTools 协议与浏览器进行通信。

返回结果

执行完命令后,浏览器驱动会将结果(如页面状态、元素属性等)封装成 JSON 格式,通过 HTTP 响应返回给客户端。

相关推荐
泽众云测试11 小时前
泽众软件与广州华南检验检测中心签约,PerformanceRunner性能测试工具助力第三方测评机构性能检测能力升级
软件测试·测试工具·性能测试
@zulnger16 小时前
Charles抓包工具
测试工具
ck01357919 小时前
视频添加水印的实践:文字叠加、透明 PNG 与时间区间设置
图像处理·测试工具·音视频·视频
EVE จุ๊บ2 天前
playwright和selenium的区别是什么
selenium·测试工具
Meta Luo3 天前
页面改版后自动化用例大量失败,应该怎么维护?
运维·功能测试·测试工具·自动化
释槐鸟~4 天前
还不知道RIDE工具怎么装吗
测试工具·自动化
有技巧搬砖4 天前
为什么锂电池组的电池老化测试很重要?
测试工具·锂电池·电池老化
蒲公英内测分发5 天前
智能手表卖出去后,包装、说明书和官网里的 App 下载入口怎么统一?
前端·人工智能·测试工具·智能家居·智能硬件·智能手表
蒲公英内测分发5 天前
智能手环出海测试,海外合作方分散在不同国家,Android 测试包怎么持续分发和更新?
android·前端·人工智能·测试工具·智能手表
无语的小歪歪5 天前
ATF 智测 1.0
python·测试工具·集成测试