测试用户名和密码字段是否都为空

时间:2018-01-28 21:41:26

标签: java junit assertions

@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);

1 个答案:

答案 0 :(得分:0)

据我了解您的问题,在清除用户名和密码字段后,您正在使用Selenium验证登录按钮的标题是否已更改。

当文本字段的内容被清除时,看起来执行了一些JavaScript。

所以我建议将WebDriver用于真正的浏览器(例如Firefox)。还要避免使用Thread.sleep()。更好地使用显式等待条件,请参阅explicit and implicit waits的Selenium文档。