Selenium WebDriver测试后无法关闭Firefox窗口(Java)

时间:2014-04-08 16:36:59

标签: java selenium junit annotations webdriver

我知道这里还有其他一些类似的问题,但我通读了它们,无法解决我的问题。我也不是完全流利的JUNIT注释等,所以这也让我感到困惑。这就是我所拥有的,我只想在成功(或不成功)测试后关闭firefox窗口。

import junit.framework.TestCase;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class TestWorkGaps extends TestCase {
private WebDriver driver;
private String baseUrl;

@Before
public void setUp() {
    driver = (WebDriver) new FirefoxDriver();
    baseUrl = "https://dev.XXX.com";
    driver.manage().timeouts().implicitlyWait(1, TimeUnit.SECONDS);
}
@Test
public void test() throws InterruptedException {
    driver.get(baseUrl);
    success = core.TestCore.checkMain(driver);
    if (!success) {
        fail("Main page did not load correctly.");
    }
//various other tasks
success = core.LoginLogout.logout(driver);
    if (!success) {
        fail("Not able to logout.");
    }
}

@After
public void closeWindow()
{
    driver.close();
    driver.quit();
}
}

先谢谢,你们是最好的。如果相关,我可以提供我的pom.xml。

1 个答案:

答案 0 :(得分:1)

你正在混合新旧JUnit;这就是为什么它不起作用。您有两种可能的方法来解决这个问题:

  1. 旧方法:删除注释并将closeWindow()重命名为tearDown()。这将覆盖TestCase
  2. 中的相应功能
  3. 新方法:不要延伸TestCase。然后将使用注释并调用closeWindow()方法。
  4. 您的setUp()函数已经覆盖了TestCase中的相应函数,这就是该部分工作的原因。 closeWindow() TestCase对于TestCase是未知的,如果{{1}}被扩展,JUnit似乎会使用不同的跑步者。