【问题标题】:Difference between running Selenium test with using Webdriver and without using webdriver使用 Webdriver 和不使用 webdriver 运行 Selenium 测试的区别
【发布时间】:2019-05-15 15:14:11
【问题描述】:

没有使用webdriver,我观察到driver.FindElement 方法的返回类型为WebElement-Remotewebdriver

使用 Webdriver,我观察到 FindElement 方法的返回类型为 WebElement-Webdriver

ChromeDriver driver = new ChromeDriver();

driver.get("https://ui.freecrm.com/");

driver.findElement(By.xpath("//div[@class='ui fluid large blue submit button']"));

如果 Chromedriver 正在实现 Webdriver 接口,为什么我看到 findElement 的返回类型为 Webelement-RemoteWebdriver 而不是 Webelement-Webdriver

我知道RemoteWebdriver 类实现了Webdriver 接口。何时使用remotewebdriver,为什么?

【问题讨论】:

标签: selenium selenium-webdriver webdriver remotewebdriver


【解决方案1】:

SearchContext 是由webdriverwebelement 接口扩展的根接口。

所以说webdriver接口的时候,有两个类实现了这个接口

  • EventFiringWeb 驱动程序。
  • RemoteWebDriver。

有 6 个类扩展了 RemoteWebDriver 类,例如 ChromeDriverFFIE 等。

看看官方文件是怎么说的:

您可以使用 WebDriver 远程,就像本地使用它一样。主要区别在于远程WebDriver 需要配置 以便它可以在单独的机器 上运行您的测试。远程 WebDriver 由两部分组成:客户端和服务器。客户端是您的 WebDriver 测试,服务器只是一个 Java servlet,可以托管在任何现代 JEE 应用服务器中。

更多内容可以参考:official Link

问。如果 Chromedriver 正在实现 Webdriver 接口,为什么我看到 findElement 的返回类型为 Webelement-RemoteWebdriver 而不是 Webelement-Webdriver?

Ans : Chromedriver 是一个没有实现 Webdriver 接口的公共类。 并扩展 RemoteWebDriver 保护类。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2013-02-20
  • 2016-04-25
  • 2019-04-29
  • 2015-03-11
  • 2014-10-07
  • 1970-01-01
  • 1970-01-01
  • 2012-11-21
相关资源
最近更新 更多