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 响应返回给客户端。

相关推荐
卓码软件测评4 分钟前
第三方移动应用测试机构:【移动应用性能测试:使用LoadRunner的Mobile Application - HTTP/HTML协议】
测试工具·ci/cd·性能优化·单元测试·测试用例
月明长歌31 分钟前
个人测试项目:一个可跑、可扩、可复用的 Selenium UI 自动化博客系统全链路测试拆解
selenium·ui·自动化
程序员杰哥2 小时前
如何写出高效的测试用例?
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
Wpa.wk2 小时前
Docker - 搭建镜像仓库- 了解
运维·经验分享·测试工具·docker·容器
程序员三藏3 小时前
自动化测试步骤详解
自动化测试·软件测试·python·测试工具·程序人生·职场和发展·测试用例
CodeCraft Studio3 小时前
Parasoft是什么?Parasoft自动化测试工具与解决方案:实现规模化应用
自动化测试·测试工具·单元测试·静态测试·parasoft·嵌入式软件测试·软件安全合规
卓码软件测评3 小时前
【第三方双重资质软件测试机构:测试RESTful API和SOAP Web Services:LoadRunner协议选择和脚本编写】
测试工具·ci/cd·性能优化·单元测试·测试用例·restful
生活很暖很治愈4 小时前
Pytest-order插件
python·测试工具·测试用例·pytest
悟能不能悟4 小时前
postman中的Tests,怎么获取返回的response中的stateCde
测试工具·postman
0思必得013 小时前
[Web自动化] 反爬虫
前端·爬虫·python·selenium·自动化