什么是用于webdriver和浏览器之间通信的机制

任何人都可以解释浏览器和网络驱动程序之间的通信方式? webdriver对象如何在浏览器中读取和识别html元素? 那为什么webdriver对象和浏览器之间的关系以及如何构建关系浏览器和webdriver对象?

driver = new FirefoxDriver(); driver.findElements(By.id("element")); 

webdriver和浏览器之间的通信是通过Wson 文档中指定的json-wire协议实现的。 webdriver支持的所有浏览器都使用相同的协议。

webdriver如何读取和识别页面中的元素? 这因浏览器而异。

Firefox – webdriver在运行测试时作为插件安装在浏览器中。 webdriver服务器将json命令发送到此插件,这些命令将在浏览器中执行。 该插件是在webdriver jar文件中构建的。 它将在运行测试时安装。

Chrome – 要测试chrome,您还需要一个chromedriver.exe文件。 这个chromedriver.exe的行为类似于firefox插件。 它可以从webdriver服务器接收命令并在浏览器上执行它

IE – 与Chrome类似,IE在InternetExplorerDriver.exe的帮助下执行。

您可以通过查看github中的不同DriverFile源代码来了解有关function的更多信息。

您也可以从这里了解工作情况 – http://www.aosabook.org/en/selenium.html 。 我不确定这个页面的更新程度,但应该有助于理解这个概念。