Selenium 不同浏览器的实现有什么不同?

Selenium 不同浏览器的实现有什么不同?,selenium,selenium-webdriver,Selenium,Selenium Webdriver,有谁能告诉我在selenium webdriver中实现不同浏览器(如Firefox、Chrome和IE webdriver)的技术差异吗???每个驱动程序都用于在特定浏览器中自动化应用程序 例如,如果您使用FirefoxDriver,您的自动化脚本将在Firefox浏览器中运行 从技术上讲,它们的实现是不同的,并且基于WebDriver接口。ChromeDriver、InternetExplorerDriver和FirefoxDriver是接口的实现。每个都提供了与相应浏览器相对应的实现。 更

有谁能告诉我在selenium webdriver中实现不同浏览器(如Firefox、Chrome和IE webdriver)的技术差异吗???

每个驱动程序都用于在特定浏览器中自动化应用程序

例如,如果您使用FirefoxDriver,您的自动化脚本将在Firefox浏览器中运行


从技术上讲,它们的实现是不同的,并且基于WebDriver接口。

ChromeDriver
InternetExplorerDriver
FirefoxDriver
是接口的实现。每个都提供了与相应浏览器相对应的实现。
更改浏览器时不需要更改代码。您可以使用
WebDriver
的实例编写代码,只需根据浏览器更改实现对象即可。 就像你在使用Firefox一样

WebDriver driver = new FirefoxDriver();
driver.get("SOME_RANDOM_URL");
driver.find("SOME_RANDOM_ELEMENT");
如果要将浏览器更改为chrome

WebDriver driver = new ChromeDriver();
// rest of the code will remain same

这称为

代码保持不变,但您将指定的驱动程序实例和路径除外;正如您已经知道的,对于firefox,您不需要显式下载任何驱动程序。您只需创建驱动程序实例,如下所示-

a)Firefox-

driver = new FirefoxDriver();
b)IE- 对于IE,您需要下载IE驱动程序,然后将其放入驱动器中。然后将驱动程序路径包括在代码中,如下所示(替换为下面代码中的驱动程序路径)——

c)铬- 对于Chrome,您需要下载Chrome驱动程序,然后将其放入驱动器中。然后将驱动程序路径包括在代码中,如下所示(替换为下面代码中的驱动程序路径)——


因此,要在不同的浏览器中运行任何web应用程序,我们必须更改整个代码??不。您需要更改要使用的浏览器。不是全部的代码。他们是不同的浏览器?????谷歌它,你可以得到更多的信息。如果你关心任何特别的事情,请详细说明。我觉得人们可能不理解这个问题,如果webdriver是一个标准,为什么我们需要为每个类实例化不同的类。我猜他们还没有遵循标准,但不知道确切的区别。这句话可能不正确,“当你更改浏览器时,你不需要更改代码。”一些WebDriver没有实现所有命令,因此需要使用不同的流。为了提到这一点,编辑了一个问题。
System.setProperty("webdriver.ie.driver","C:\\Program Files (x86)\\Internet Explorer\\IEDriverServer.exe");
driver = new InternetExplorerDriver();
System.setProperty("webdriver.chrome.driver","C:\\Program Files (x86)\\Internet Explorer\\chromedriver.exe");
driver = new ChromeDriver();