2016-08-07 3 views
5

enter image description hereWie bekomme ich den Text aus der HTML5 Eingabefeld Fehlermeldung in Selen?

  1. auf ungültige Daten in dem E-Mail-Feld geben fordert es für eine HTML-5 Warnmeldung.
  2. Firebug nicht erlaubt, diese Fehlermeldung zu überprüfen - (Bitte geben Sie eine E-Mail-Adresse) in zwei Fällen ein. Bei der Inspektion mit Firebug ist es verschwunden.
    b. Ein Rechtsklick auf die Fehlermeldung funktioniert nicht, um das Element in der DOM-Struktur zu überprüfen.

Antwort

8

Die Selenium-API unterstützt nicht direkt ein erforderliches Feld. Sie können jedoch leicht den Zustand und die Nachricht mit einem Stück JavaScript (Java) erhalten:

JavascriptExecutor js = (JavascriptExecutor)driver; 

WebElement field = driver.findElement(By.name("email")); 
Boolean is_valid = (Boolean)js.executeScript("return arguments[0].checkValidity();", field); 
String message = (String)js.executeScript("return arguments[0].validationMessage;", field); 

Beachten Sie, dass es auch möglich ist getAttribute zu verwenden, um die validationMessage selbst zu bekommen, obwohl es eine Eigenschaft ist:

String message = driver.findElement(By.name("email")).getAttribute("validationMessage"); 
+0

Dank @Florent, Seine adaequat –

0

Sie erhalten alle HTML5 erforderlichen Feld Validierung auf diese Weise.

Zeichenfolge errorMessage = driver.findElement (By.id ("email")). GetAttribute ("validationMessage");

Verwandte Themen