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

在Selenium中ChromeDriver和WebDriver有什么区别?

邢卓
2023-03-14

如果我们创建:

ChromeDriver driver=new ChromeDriver();

将执行chrome驱动程序方法。

WebDriver driver=new ChromeDriver();

那么为什么我们只在执行的时候才写后面的一个呢?

共有1个答案

皮弘博
2023-03-14

如果您使用ChromeDriver driver=new ChromeDriver();将通过它创建的ChromeDriver实例,我们将只能调用ChromeDriver实现并仅受Chrome Browser支持的方法并对其进行操作。要使用其他浏览器,我们必须具体创建单个对象,如下所示:

  • FirefoxDriver驱动程序=new FirefoxDriver();
  • InternetExplorerDriver驱动程序=new InternetExplorerDriver();

从Selenium的角度来看,WebDriver接口类似于第三方浏览器供应商(如Mozilla、Chrome、Internet Explorer、Safari等)必须遵守和执行的协议。这将反过来帮助最终用户使用公开的API编写通用代码,并在所有可用浏览器上实现功能,而不做任何更改。

通过WebDriver driver=new ChromeDriver();,我们创建了WebDriver接口的一个实例,并将其转换为ChromeDriver类。所有的浏览器驱动程序都喜欢:

  • FirefoxDriver
  • ChromeDriver
  • InternetExplorerDriver
  • PhantomJsDriver
  • Safaridriver等

实现了WebDriver接口(实际上RemoteWebDriver类实现了WebDriver接口,浏览器驱动程序扩展了RemoteWebDriver)。因此,如果我们使用webdriver,那么我们可以将已经初始化的驱动程序(作为公共对象变量)用于我们想要自动化的所有浏览器,例如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接口的实现。根据当前的实践,我们针对该接口编写自动测试脚本,以便将来在需要浏览器时可以交换功能更全面的浏览器。

 类似资料:
  • 问题内容: 如果我们创建: chrome驱动程序方法将被执行。 如果我们创建: 再次执行方法(按方法覆盖)。 那为什么只在执行时才写后一个呢? 问题答案: ChromeDriver驱动程序=新的C​​hromeDriver(); 如果您使用将通过其创建的 ChromeDriver 实例,则我们将只能调用和执行由 ChromeDriver 实现且仅受 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似乎有很多不同的组成部分,并且网站对它们的解释不是很好,我还是有些困惑。之间的区别或目的是什么? Selenium IDE Selenium服务器Selenium远程控制WebDriver Selenium 2 我的理解如下: Selenium IDE 是一个GUI插件,用于在Selenese / HTML中快速建立测试用例的原型。 Selenium Server 是一