selenium中的ChromeDriver和WebDriver有什么区别?

如果我们创建:

ChromeDriver driver=new ChromeDriver();

chrome驱动程序方法将被执行。

如果我们创建:

WebDriver driver=new ChromeDriver();

再次ChromeDriver执行方法(按方法覆盖)。

那为什么只在执行时才写后一个呢?

回答:

回答:

如果您使用将通过其创建ChromeDriver driver = new ChromeDriver();ChromeDriver

实例,则我们将只能调用和执行由 ChromeDriver 实现且仅受 Chrome浏览器

支持的方法。要与其他浏览器配合使用,我们必须专门创建以下单个对象:

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


回答:

角度来看, 就像是该第三方一个协议类似 浏览器厂商 喜欢 Mozilla的Chrome浏览器

Internet浏览器Safari浏览器

等必须坚持和贯彻的一样。反过来,这将帮助最终用户使用公开的API编写通用代码并在所有可用的浏览器中实现功能,而无需进行任何更改。


回答:

通过WebDriver driver = new ChromeDriver();创建 WebDriver 接口的实例,并将其 为

ChromeDriver 类。所有的浏览器驱动程序都像:

  • 火狐浏览器
  • ChromeDriver
  • InternetExplorerDriver
  • PhantomJSDriver
  • SafariDriver等

实现了WebDriver接口(实际上RemoteWebDriver类实现了

WebDriver接口 ,而 浏览器驱动程序 扩展了 )。因此,如果使用WebDriver

driver,则可以为所有要自动化的浏览器使用已初始化的 驱动程序

(作为公共对象变量),例如Mozilla,Chrome,InternetExplorer,Edge,Opera,Safari,如下所示:

WebDriver driver = new FirefoxDriver();

// or

WebDriver driver = new ChromeDriver();

// or

WebDriver driver = new InternetExplorerDriver();

// or

WebDriver driver = new EdgeDriver();

// or

WebDriver driver = new OperaDriver();

// or

WebDriver driver = new SafariDriver();


回答:

按照当前方案,我们必须直接实例化 的实现。按照当前的惯例,我们针对此接口编写 自动化测试脚本

,以便将来在需要时可以 功能更全的 浏览器

以上是 selenium中的ChromeDriver和WebDriver有什么区别? 的全部内容, 来源链接: utcz.com/qa/433557.html

回到顶部