@Test
public void loginWithEmptyFields() throws InterruptedException {
driver.findElement(By.linkText("Tu Log In / Register")).click();
driver.findElement(By.name("j_username")).clear();
driver.findElement(By.name("j_username")).sendKeys("");
driver.findElement(By.name("j_password")).clear();
driver.findElement(By.name("j_password")).sendKeys("");
Thread.sleep(1000);
driver.findElement(By.className("loginButtonMain")).click();
Thread.sleep(1000);
}
断言代码应检查用户名和密码字段是否为空,如果字段为空则登录按钮被禁用,并且应该将标题设置为“登录 - 涂装”页面。
但是下面的代码不起作用请帮忙!
boolean actualEmptyLoginButton =
driver.findElement(By.cssSelector(".loginButtonMain")).isEnabled();
Assert.assertTrue(actualEmptyLoginButton, "Login Button is not displayed");
String actualEmptyLoginTitle = driver.getTitle();
Assert.assertEquals("Login | Tu clothing", actualEmptyLoginTitle);
答案 0 :(得分:0)
据我了解您的问题,在清除用户名和密码字段后,您正在使用Selenium验证登录按钮的标题是否已更改。
当文本字段的内容被清除时,看起来执行了一些JavaScript。
所以我建议将WebDriver用于真正的浏览器(例如Firefox)。还要避免使用Thread.sleep()。更好地使用显式等待条件,请参阅explicit and implicit waits的Selenium文档。