我正在尝试了解WebDriver.findBy(...)
等内容对性能的影响。例如,如果我使用Selenium来驱动本地Chrome实例:
WebElement betty = webDriver.findBy(By.id("betty"));
Selenium库
a)让JVM中的DOM进行评估?
b)转到本地Chrome驱动程序二进制文件进行评估?
c)转到浏览器实例进行评估?
答案会因Grid情况而改变吗?
答案 0 :(得分:3)
我找到了一个很好的technical guide来解释这一点。
浏览器驱动程序使用持续等待的
HTTP SERVER
新的Selenium命令。它有以下用途:
读取来自客户端的HTTP请求(客户端=执行测试自动化脚本的计算机)
确定实施Selenium命令所需的一系列步骤
- 将实施步骤发送到浏览器
- 从浏览器获取执行状态
- 将执行状态发送回客户端
对于自动化脚本的每个Selenium命令,都会创建一个具有特定路径的http请求。
执行自动化脚本时,第一个http请求会生成一个特定于运行自动化脚本的浏览器的新会话。
会话ID将用于与所有其他对应的http请求 来自自动化脚本的Selenium命令。