对象实例化 - Selenium Web驱动程序

时间:2016-10-03 13:43:21

标签: java selenium selenium-webdriver

这是一个常见的问题,但我不清楚我在互联网或StackOverflow上找到的答案。

当我们在selenium WebDriver(例如selenium webdriver和Java)中实例化一个对象时,我们通常会写(作为正常做法),

WebDriver driver = new FirefoxDriver(); 

或使用WebDriver界面的任何其他实现(Chrome,IE,Safari,AndroidDriver等)。

为什么我们不使用下面的内容

FirefoxDriver fx = new FirefoxDriver();

WebDriver是一个接口,只能访问由特定浏览器实现类实现的WebDriver方法。引用不能访问不在FireFoxDriver接口中的WebDriver的方法。

如果我错了,请纠正我。

2 个答案:

答案 0 :(得分:2)

您始终需要调用 WebDriver ,因为它包含测试所需的所有方法。

以下是示例:

protected static WebDriver driver = new ChromeDriver();

protected static WebDriver driver = new FirefoxDriver();

答案 1 :(得分:1)

您必须使用接口WebDriver而不是实现。这是一种通用技术:

  

接口的代码/编程

因此,如果将来您需要切换到其他驱动程序,请说从ChromeDriver切换到FirefoxDriver您的代码将保持不变。