首页 > 解决方案 > 发生断言错误后 Chrome 不会退出

问题描述

当测试通过断言失败时,我试图让浏览器关闭。

它在日志中输出正确的日志信息,但浏览器没有关闭。

java.lang.AssertionError: 错误: 标题是 'Jordan | TolaActivity',并且应该是国家名称 | TolaActivity

at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.assertTrue(Assert.java:41)
at Tola.Activity.tests.LoginPage.Login(LoginPage.java:61)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
    @Test
    // Test Case # 1: User can login successfuly
    //

    public void Login() throws Exception {
        // -- Setup
        driver.get(constants.URL);
        Assert.assertTrue("Error: Title is '" + driver.getTitle() + "', and should be company name Sign-on", driver.getTitle().startsWith("company name"));

        // -- Test

        driver.findElement(By.id("login")).sendKeys("username");

        driver.findElement(By.id("password")).sendKeys("password");

        driver.findElement(By.xpath("//*[@id=\"loginbox\"]/center[2]/input")).click();

        Assert.assertTrue("Error: Title is '" + driver.getTitle() + "', and should be Country Name | TolaActivity", driver.getTitle().contains("asdasd"));

        driver.quit();
    }

}

标签: javaselenium

解决方案


创建一个在您的测试方法之后运行的方法,该方法将退出驱动程序。这将在您的测试方法中的所有内容运行后关闭您的驱动程序。

@After
public void teardown() { 
  this.driver.quit()
}

推荐阅读