如何获取加载FirefoxDriver的实例?

时间:2015-12-16 11:26:51

标签: java selenium gwt selenium-webdriver junit

我正在<p data-letters="MN"> My Name</p><!-- or whatever structure you used -->上测试繁重的网络应用程序。 Test会在每次启动时创建gwt的新实例,打开浏览器并加载页面。

一段时间后,测试通过了。我不会在测试后关闭浏览器,但是当我重新运行测试时,它会再次初始化浏览器。有没有办法获取加载浏览器的实例并在其上加载页面?

UPD:

我试图这样做:

webdriver

每次开始都是空的。

UPD2:

我需要类似的东西:

public class BaseTest {
    protected static ApplicationManager app;

    @Before
    public void setUp() throws Exception {
        if (app == null) {
            app = new ApplicationManager();
            app.getLoginHelper().login();
        }
    }
}

并且在重新运行之后:

initializating new web driver
running test1
running test2
running test3
...
all test are finished

2 个答案:

答案 0 :(得分:0)

你可以拥有一个带有静态部分的类。您可以在此类中初始化您的驱动程序(也必须是静态的)。之后,您可以使用此类扩展测试类,以便在任何地方都有驱动程序实例。

public class Context{
    protected static WebDriver driver;
    static {
        driver = new FirefoxDriver();
        //Do whatever you want.
    }
}

public class MyTestClass extends Context{
    @Test
    public void test1(){
        driver.something();
    }
}

答案 1 :(得分:0)

public class DriverBuilder {
    private WebDriver driver;
        DriverBuilder() {
        try {
            driver = new FirefoxDriver();
        } catch (Exception e) {
            throw new ExceptionInInitializerError(e);
        }
    }   
    public WebDriver getDriver() 
    {
        return driver;
    }
}

并使用相同的WebDriver实例,如下所示:

WebDriver driver = DriverBuilder.getDriver();