属性validationMessage会返回消息,如果验证失败就会显示:
WebElement username = driver.findElement(By.name("uname"));
String validationMessage = username.getAttribute("validationMessage");
如果元素有required属性,提交表单后浏览器会显示消息:
boolean required = Boolean.parseBoolean(username.getAttribute("required"));
您可以检查输入的值是否有效:
boolean valid = (Boolean)((JavascriptExecutor)driver).executeScript("return arguments[0].validity.valid;", username);
不:消息文本和验证是可自定义的。如果你想测试定制
验证和消息。
这里是自定义验证的测试代码(Java,TestNG):
Assert.assertTrue(Boolean.parseBoolean(username.getAttribute("required")), "Username is required and message should be showin");
Assert.assertEquals(username.getAttribute("validationMessage"), "My custom message", "Message text control");
username.sendKeys("@vasya ");
Assert.assertTrue((Boolean)((JavascriptExecutor)driver).executeScript("return arguments[0].validity.valid;", username), "Username has special characters");