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

Selenium WebDriver测试(Java)后无法关闭Firefox窗口,java,selenium,junit,annotations,webdriver,Java,Selenium,Junit,Annotations,Webdriver,我知道这里还有一些类似的问题,但我通读了一遍,无法解决我的问题。我对JUNIT注释之类的东西也不是很流利,所以这也让我有点困惑。这就是我所拥有的,我只想在测试成功(或不成功)后关闭firefox窗口 提前谢谢,你们是最好的。如果相关的话,我可以提供我的pom.xml。您正在混合新旧JUnit;这就是它不起作用的原因。有两种可能的解决方法: 旧方法:删除注释并将closeWindow()重命名为tearDown()。这将覆盖TestCase中的相应函数 新方法:不要扩展TestCase。然后将使用

我知道这里还有一些类似的问题,但我通读了一遍,无法解决我的问题。我对JUNIT注释之类的东西也不是很流利,所以这也让我有点困惑。这就是我所拥有的,我只想在测试成功(或不成功)后关闭firefox窗口


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

您正在混合新旧JUnit;这就是它不起作用的原因。有两种可能的解决方法:

  • 旧方法:删除注释并将
    closeWindow()
    重命名为
    tearDown()
    。这将覆盖
    TestCase
    中的相应函数
  • 新方法:不要扩展
    TestCase
    。然后将使用注释并调用
    closeWindow()
    方法

  • 您的
    setUp()
    函数已经覆盖了
    TestCase
    中相应的函数,这就是该部分工作的原因。但是,
    TestCase
    不知道
    closeWindow()
    ,如果扩展了
    TestCase
    ,JUnit似乎会使用不同的运行程序。

    它到底在做什么,应该做什么?乍一看,代码对我来说很好。我希望它在测试完成后关闭firefox窗口。目前,窗口保持打开状态。您提供的代码看起来不错。在您的
    checkMain
    logout
    函数中,您是否调用了
    newfirefoxdriver()
    函数?是的-正如Nathan所说,这看起来很好。我想是的,但你是以jUnit的身份运行的,对吗?(还有,@SamFrench,刚刚跟随你回到github
    :)
    )嘿,我留下了注释,并将closeWindow()重命名为tearDown(),它可以正常工作。谢谢
    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();
    }
    }