我知道这里还有其他一些类似的问题,但我通读了它们,无法解决我的问题。我也不是完全流利的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。
答案 0 :(得分:1)
你正在混合新旧JUnit;这就是为什么它不起作用。您有两种可能的方法来解决这个问题:
closeWindow()
重命名为tearDown()
。这将覆盖TestCase
。TestCase
。然后将使用注释并调用closeWindow()
方法。您的setUp()
函数已经覆盖了TestCase
中的相应函数,这就是该部分工作的原因。 closeWindow()
TestCase
对于TestCase
是未知的,如果{{1}}被扩展,JUnit似乎会使用不同的跑步者。