Java 如何在selenium webdriver testng中实现接口概念

Java 如何在selenium webdriver testng中实现接口概念,java,selenium-webdriver,Java,Selenium Webdriver,我是java selenium testng的新手。由于我在automation selenium webdriver testng中使用多浏览器测试,我应该如何使用多浏览器的界面概念。我试图使SeleniumWebDriver框架完全面向对象。 下面是我的一段代码 public class BrowserFactory{ public WebDriver driver; @Parameter("browser") @BeforeTest public voi

我是java selenium testng的新手。由于我在automation selenium webdriver testng中使用多浏览器测试,我应该如何使用多浏览器的界面概念。我试图使SeleniumWebDriver框架完全面向对象。 下面是我的一段代码

public class BrowserFactory{

    public WebDriver driver;

    @Parameter("browser")
    @BeforeTest
    public void launchBrowser(String browser) throws Exception{

        if(browser.equalsIgnoreCase("firefox"))
        {
            System.setProperty("webdriver.gecko.driver", Path+"/geckodriver");
            driver = new FirefoxDriver();
        }
        else if (browser.equalsIgnoreCase("chrome"))
        {
            driver = new ChromeDriver();
        }
        else if(browser.equalsIgnoreCase("safari"))
        {
            driver = new SafariDriver();
        }
        driver.get("");
    }
我应该如何在这里实现接口?此外,我还没有添加get(“将链接传递到open”)

请提供帮助。

界面: 在Java中,接口是一种引用类型。它几乎类似于一个类。它是一个抽象方法的集合。类实现接口并继承接口的抽象方法。接口可以包含常量、默认方法和静态方法。方法体仅存在于默认方法和静态方法中。你可以找到详细的讨论


网络驱动程序: WebDriver提供了一个远程指示web浏览器功能的平台。WebDriver为我们提供了一组界面,用于发现和操作当前附加到
HTMLDOM
的元素。你可以找到详细的讨论


用法: 如果您将自己的代码块放在IDE中(我使用的是Eclipse Neon v2),并将鼠标悬停在单词
WebDriver
上,您将看到Java编译器提示您有关
Interface org.openqa.selenium.WebDriver
,如下所示:


紫色的
I
表示
WebDriver
是一个接口。所以通过
公共WebDriver我们正在声明接口的一个实例
WebDriver

您打算实现什么接口?您是否正在尝试添加新的
WebDriver
?是的,Prokhorov。提前谢谢。好的。如果您想实现自己的web驱动程序,那么这是一项巨大的编程任务,超出了StackOverflow的范围。一般来说,您需要了解
WebDriver
接口有哪些方法,并以不违反约定的方式实现每个方法(大多数驱动程序通过JNA或类似的方式与真实浏览器通信以实现该目标)。您还需要研究所选浏览器的公共API,看看哪里可以走捷径。