ChromeDriver driver = new ChromeDriver(); 有什么区别?和 WebDriver 驱动程序 = new ChromeDriver();

What is the difference between ChromeDriver driver = new ChromeDriver(); and WebDriver driver = new ChromeDriver();

有什么区别:

ChromeDriver driver = new ChromeDriver ();

WebDriver driver = new ChromeDriver ();

如果我在 Selenium 中使用这些代码中的任何一个,我会得到相同的输出吗Java?

我在两个代码中没有任何区别,所以如果我使用这两个代码,我的输出是否也相同?

正确的驱动初始化是第二种。使用这个:


WebDriver driver = new ChromeDriver ();

Chrome驱动 driver = new ChromeDriver();

使用时:

ChromeDriver driver = new ChromeDriver();

instance will be only able to invoke and act on the methods implemented by and supported by 。要与其他浏览器一起使用,我们必须专门创建如下的单独对象:

  • FirefoxDriver driver = new FirefoxDriver();
  • InternetExplorerDriver driver = new InternetExplorerDriver();

WebDriver 接口

perspective, the WebDriver Interface is similar like a agreement which the 3rd party Browser Vendors like , , , 开始,其他人必须遵守并执行相同的内容。这将 in-turn 帮助 end-users 使用公开的 API 编写通用代码并在所有可用 Browsers 中实现功能,而无需任何更改。


WebDriver 驱动程序 = 新 ChromeDriver();

使用 WebDriver driver = new ChromeDriver(); 您正在创建 interface and casting it to ChromeDriver Class. All the browser drivers like FirefoxDriver, ChromeDriver, InternetExplorerDriver, PhantomJSDriver, SafariDriver etc implemented the WebDriver interface (actually the RemoteWebDriver class 实现 WebDriver 接口[=48= 的实例] 和 浏览器驱动程序 扩展 RemoteWebDriver)。因此,如果我们使用 WebDriver driver,那么我们可以为所有我们想要自动化的浏览器使用已经初始化的 driver(作为公共对象变量),例如Mozilla、Chrome、InternetExplorer、PhantomJS、Safari。

WebDriver driver = new FirefoxDriver();
driver = new ChromeDriver();
driver = new FirefoxDriver();
driver = new SafariDriver();