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

时间:2015-08-05 03:10:43

标签: java selenium selenium-webdriver browser-automation

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

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

1 个答案:

答案 0 :(得分:2)

webdriver和浏览器之间的通信是通过W3C documentation中指定的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源代码,您可以了解有关功能的更多信息。

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