当前位置: 首页 > 面试题库 >

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

钱运浩
2023-03-14
问题内容

如果我们创建:

ChromeDriver driver=new ChromeDriver();

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

如果我们创建:

WebDriver driver=new ChromeDriver();

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

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


问题答案:

ChromeDriver驱动程序=新的C​​hromeDriver();

如果您使用将通过其创建ChromeDriver driver = new ChromeDriver();ChromeDriver
实例,则我们将只能调用和执行由 ChromeDriver 实现且仅受 Chrome浏览器
支持的方法。要与其他浏览器配合使用,我们必须专门创建以下单个对象:

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

WebDriver界面

角度来看, webdriver的界面 就像是该第三方一个协议类似 浏览器厂商 喜欢 Mozilla的Chrome浏览器
Internet浏览器Safari浏览器
等必须坚持和贯彻的一样。反过来,这将帮助最终用户使用公开的API编写通用代码并在所有可用的浏览器中实现功能,而无需进行任何更改。

WebDriver驱动程序=新的C​​hromeDriver();

通过WebDriver driver = new ChromeDriver();创建 WebDriver 接口的实例,并将其 强制转换
ChromeDriver 类。所有的浏览器驱动程序都像:

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

实现了WebDriver接口(实际上RemoteWebDriver类实现了
WebDriver接口 ,而 浏览器驱动程序 扩展了 RemoteWebDriver )。因此,如果使用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();

琐事

按照当前方案,我们必须直接实例化 WebDriver Interface 的实现。按照当前的惯例,我们针对此接口编写 自动化测试脚本
,以便将来在需要时可以 交换 功能更全的 浏览器



 类似资料:
  • 如果我们创建: 将执行chrome驱动程序方法。 那么为什么我们只在执行的时候才写后面的一个呢?

  • 问题内容: Selenium中的WebDriver和WebElement有什么区别? 样例代码: 问题答案: WebDriver界面 从Selenium的角度看,硒中的ChromeDriver和WebDriver有什么区别? 界面 就像是该第三方一个协议类似 浏览器厂商 喜欢 Mozilla的 , Chrome浏览器 , Internet浏览器 , Safari浏览器 等必须坚持和贯彻的一样。反过

  • 我试图设置Selenium Grid 2,并从这里获取了一个示例json配置文件。我的测试是用C语言编写的,使用的是Selenium WebDriver。我试图找出这两个协议之间的差异,以及我应该使用哪一个来进行WebDriver测试。

  • 'selenium-server-standalone.jar'和'selenium Client&WebDriver'在实现上有什么不同。以下是Seleniumhq.org网站[http://www.seleniumhq.org/download/]的链接。 http://selenium-release.storage.googleapis.com/2.44/selenium-server-s

  • 问题内容: 我在我正在自动化的网站中为弹出对话框而苦苦挣扎,由于某种原因,它不会单击对话框中的按钮,但可以与其他一切正常交互。它也可以毫无问题地识别按钮,当我看到它运行时,我可以看到它确实在颜色改变时单击了按钮,所以我有点卡住了。 我的代码最初看起来很明显:- 但是当我将其更改为以下内容时,一切似乎都可以正常工作! 谁能告诉我为什么一种方法不起作用而另一种却可以起作用?同样,不管是否有用,该网站都

  • Selenium IDE、Selenium RC和Selenium WebDriver之间的区别是什么;在什么样的项目中我们可以使用每一个?任何建议都将不胜感激。