Java 登录测试中的If语句是否一直失败?
我正在SeleniumJava中运行一个简单的测试来测试登录名,但是我的if语句一直直接跳到else,表示登录名已通过,即使我知道登录名已失败Java 登录测试中的If语句是否一直失败?,java,selenium,if-statement,selenium-webdriver,Java,Selenium,If Statement,Selenium Webdriver,我正在SeleniumJava中运行一个简单的测试来测试登录名,但是我的if语句一直直接跳到else,表示登录名已通过,即使我知道登录名已失败 // if error message test fails if (driver.getPageSource().contains("User not found")) { System.out.println("Login Failed - incorrect us
// if error message test fails
if (driver.getPageSource().contains("User not found")) {
System.out.println("Login Failed - incorrect username ");
Thread.sleep(1000);
driver.quit();
} else if (driver.getPageSource().contains("Incorrect Username or Password!")) {
System.out.println("Login Failed - incorrect username or password");
Thread.sleep(1000);
driver.quit();
} else if (driver.getPageSource().contains("Account is locked")) {
System.out.println("Login Failed - Account locked");
Thread.sleep(1000);
driver.quit();}
} else {
System.out.println("Login Passed");
// Open Nav Bar
driver.findElement(By.xpath("//*[@id=\"root\"]/div/div/div[1]/div[1]/button")).click();
Thread.sleep(1000);
// log out
driver.findElement(By.xpath("//*[contains(text(),'Log out')]")).click();
driver.quit();
}
我遗漏了什么?下面的代码中标记了一个额外的}。我甚至不确定您的代码是否正确编译或呈现,但您可能希望更正这一点
//如果错误消息测试失败
如果未找到driver.getPageSource.ContainesUser{
System.out.printlnLogin失败-用户名不正确;
线程1000;
driver.quit;
}否则,如果driver.getPageSource.contains包含正确的用户名或密码!{
System.out.printlnLogin失败-用户名或密码不正确;
线程1000;
driver.quit;
}否则,如果driver.getPageSource.containsAccount被锁定{
System.out.printlnLogin失败-帐户已锁定;
线程1000;
quit;}我认为应该将此代码放在ActionListener或ChangeListener中
这样就行了。眼睛好,但问题仍然存在。就像我的,if语句一直跳到else;