【发布时间】:2021-09-07 03:26:14
【问题描述】:
在创建我们使用的 WebDriver 对象时,例如
WebDriver driver = new ChromeDriver();
为什么不能如下,
WebDriver driver = new WebDriver();
只是想知道原因。
【问题讨论】:
标签: selenium automation webdriver
在创建我们使用的 WebDriver 对象时,例如
WebDriver driver = new ChromeDriver();
为什么不能如下,
WebDriver driver = new WebDriver();
只是想知道原因。
【问题讨论】:
标签: selenium automation webdriver
WebDriver 是一个interface,我们不能创建它的an instance。
其中 ChromeDriver 是一个扩展 RemoteWebDriver 类的类。
和 RemoteWebDriver 类基本实现了 WebDriver Interface.
所以写new WebDriver(); 在Java 中是无效的,因为我们不能创建接口对象。这将导致编译时错误。
WebDriver 接口的内部实现:
public interface WebDriver extends SearchContext{
void get(String url);
String getCurrentUrl();
// and so on....
}
上面所有的方法都被RemoteWebDriver覆盖了
【讨论】: