繁体   English   中英

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

[英]Cannot close Firefox window after Selenium WebDriver test (Java)

我知道这里还有其他一些类似的问题,但是我通读了它们,无法解决我的问题。 我也不完全精通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。

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

  1. 旧方法:删除注释,然后将closeWindow()重命名为tearDown() 这将覆盖TestCase的相应功能。
  2. 新方法:不要扩展TestCase 然后,将使用批注并调用closeWindow()方法。

您的setUp()函数已经覆盖了TestCase的相应函数,这就是该部分起作用的原因。 但是, TestCase不知道closeWindow() ,并且如果扩展了TestCase ,则JUnit似乎会使用其他TestCase程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM