2017-12-21 14 views
3

Ich möchte die Fehlermeldung überprüfen, nach der Anmeldung fehlgeschlagen. Ich bekomme immer "Testfall fehlgeschlagen", von dem ich versucht habe.Überprüfen Sie eine Fehlermeldung mit Selen Web-Treiber

Ich möchte den Text mit "Ungültiger Benutzername oder Passwort" verifizieren. Unten sind die Codes, die ich ausprobiert habe.

Dies ist der HTML-Code.

<div id="statusMsg"> 
    <div class="alert in fade alert-error" style="opacity: 1;"> 
    <a class="close" data-dismiss="alert">×</a> 
     Invalid username or password 
    </div> 
</div> 

Dies ist der Code, den ich ausprobiert habe.

String actualMsg=driver2.findElement(By.xpath("//div[@id='statusMsg']/div")).getText() 
String errorMsg= "× Invalid username or password"; 

if(actualError.equals(errorMsg)) { 
     System.out.println("Test Case Passed"); 
    }else{ 
     System.out.println("Test Case Failed"); 
    }; 

Die Ausgabe ist immer "Testfall fehlgeschlagen".

Gibt es eine Möglichkeit, dies zu beheben?

Antwort

2

Um den Text Invalid username or password zu extrahieren Sie müssen die <div> Tag erreichen, wie folgt: Nachricht

String actualMsg = driver2.findElement(By.xpath("//div[@id='statusMsg']/div[@class='alert in fade alert-error']")).getAttribute("innerHTML"); 

Weiter Ihre erwartete Fehler ist:

String errorMsg = "× Invalid username or password"; 

Als x innerhalb <a> ist Tag und Invalid username or password ist innerhalb <div> Tag der Validierungsprozess wird ein wenig von String Manipulation benötigen. Um die Validierung einfacher können Sie die erwartete Fehlermeldung zu reduzieren, wie folgt:

String errorMsg = "Invalid username or password"; 

Jetzt können Sie den folgenden Codeblock verwenden, um zu überprüfen, ob die actualMsg enthält errorMsg wie folgt:

if(actualMsg.contains(errorMsg)) 
{ 
    System.out.println("Test Case Passed"); 
}else 
{ 
    System.out.println("Test Case Failed"); 
}; 
0

Innerhalb div haben Sie nur den Text "Ungültiger Benutzername oder Passwort", aber Sie bestätigen "× Ungültiger Benutzername oder ungültiges Passwort". Zuerst Text aus String actualMsg ausgeben und dann korrekt errorMsg eingeben.

String actualMsg = driver2.findElement(By.xpath("//div[@id='statusMsg']/div")).getText() 
String errorMsg= "Invalid username or password"; 

if(actualError.equals(errorMsg)) { 
     System.out.println("Test Case Passed"); 
    }else{ 
     System.out.println("Test Case Failed"); 
    } 

;

Verwandte Themen