我试图通过断言测试失败时关闭浏览器。
它会在日志中输出正确的日志信息,但浏览器不会关闭。
java.lang.AssertionError:错误:标题为'Jordan | TolaActivity”,并且应为“国家/地区名称| TolaActivity
volume
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
答案 0 :(得分:1)
您需要利用某种错误处理。断言从您的断言中引发,并且未得到处理,因此永远不会调用您的以下退出。这是一个示例-根据您的项目结构,您可能希望在调用层次结构中更高一级。
public void Login() throws Exception {
try {
// -- Setup
driver.get(constants.URL);
Assert.assertTrue("Error: Title is '" + driver.getTitle() + "', and should be Mercy Crops Sign-on", driver.getTitle().startsWith("Mercy Corps"));
// -- 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"));
}
catch(/*Your assert exception */) {
///Handle an error here if you want to do something more
}
finally {
driver.quit();
}
}
答案 1 :(得分:1)
创建一个在测试方法之后运行的方法,该方法将退出驱动程序。测试方法中的所有内容运行完毕后,这将关闭驱动程序。
@After
public void teardown() {
this.driver.quit()
}