当前位置: 首页 > 知识库问答 >
问题:

webdriver是类还是接口?

韩鸿
2023-03-14

从Selenium文档来看,WebDriver是一个接口,但在Eclipse中是包org。openqa。selenium在项目浏览器中显示为一个类。此外,如果WebDriver是一个接口,则实现它的类(如ChromeDriver或InternetExplorerDriver)应该定义等方法。get()。getCurrentUrl()。我们在哪里可以看到这些方法的方法定义?

共有2个答案

鄢松
2023-03-14

WebDriver是一个公共接口,我们只是定义了一个类型为接口的引用变量(驱动程序)。现在我们分配给它的任何对象都必须是实现接口的类(fire FoxDriver)的实例。

莫飞翮
2023-03-14

WebDriver是一个公共接口,我不认为ChromeDriver或任何其他驱动程序实现WebDriver,而是扩展了RemoteWebDriver这一类。

编辑

正如我所说,驱动程序扩展了RemoteWebDriver,这就是这些方法的实际实现。。

public void get(String url) {
   execute(DriverCommand.GET, ImmutableMap.of("url", url));
}

Java源代码:

public interface WebDriver extends SearchContext {
  // Navigation

  /**
   * Load a new web page in the current browser window. This is done using an HTTP GET operation,
   * and the method will block until the load is complete. This will follow redirects issued either
   * by the server or as a meta-redirect from within the returned HTML. Should a meta-redirect
   * "rest" for any duration of time, it is best to wait until this timeout is over, since should
   * the underlying page change whilst your test is executing the results of future calls against
   * this interface will be against the freshly loaded page. Synonym for
   * {@link org.openqa.selenium.WebDriver.Navigation#to(String)}.
   *
   * @param url The URL to load. It is best to use a fully qualified URL
   */
 类似资料:
  • 我希望使用以下方法获取位置更新:FusedLocationProviderClient#RequestLocationUpdate(LocationRequest LocationRequest、LocationCallback LocationCallback、Looper Looper) 实现此方法的Stackoverflow中的大多数答案必须覆盖LocationCallback方法。最近的一

  • 问题内容: 是否有一种方法可以在每次从服务器返回响应后都调用一个函数,而无需在回调之后显式调用它? 主要目的是,我确实有一个通用的错误处理程序服务,可以在每个请求的回调中调用该服务,并且希望在某处指定该服务,然后该服务将自动被调用。 问题答案: 我为Gloopy提供了+1的解决方案,但是,他所引用的其他文章在配置和拦截器中定义的函数中进行了DOM操作。相反,我将启动微调器的逻辑移到了拦截器的顶部,

  • 问题内容: 抱歉,如果这个问题很愚蠢,但是我无法用Java语法来解决问题。. 我了解了C / C ++,我知道View是一个很好的类。.但是我不明白View.OnClickListener()是否是方法。 我怀疑它是否会返回对象? 我认为View是一个具有静态OnClickListener成员对象的类。同样,这对我来说没有意义。. 有人可以解释这段代码在做什么吗? 那么这段代码是怎么回事? 是对x

  • 问题内容: 假设我有实现它的接口和实现类,并且我想为此编写单元测试。我应该测试什么接口或Impl? 这是一个例子: 因此,我有实现它的HelloInterface和HelloInterfaceImpl。什么是被测单元接口或Impl? 我认为应该是HelloInterface。请考虑以下JUnit测试草图: 主线实际上是我注释掉的那条线。 方法不是我的公共接口的一部分,所以我不想 意外地 调用它。如

  • 另请参见私有/受保护的方法是否应该在单元测试下? EDIT-2在多个实现\多个接口的情况下,我将测试所有的实现,但是当我在方法中声明变量时,我肯定会使用interface。

  • 根据yaml.org,正式文件扩展名为。 报价: 如果可能,请使用“.YAML”。 然而,在互联网上使用哪种扩展似乎存在分歧。如果您在web上查找示例,许多示例都使用未经许可的扩展名。