ログインに失敗した後、表示されるエラーメッセージを確認したい。私はいつも「テストケースが失敗しました」というメッセージを受け取っています。
「無効なユーザー名またはパスワード」でテキストを確認したい。以下は私が試したコードです。
これはhtmlコードです。
<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>
これらは私が試したコードです。
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");
};
出力は常に「テストケースに失敗しました」です。
これを修正する方法はありますか?
テキストを抽出するにはInvalid username or password
次のように<div>
タグに到達する必要があります。
String actualMsg = driver2.findElement(By.xpath("//div[@id='statusMsg']/div[@class='alert in fade alert-error']")).getAttribute("innerHTML");
次に、予想されるエラーメッセージは次のとおりです。
String errorMsg = "× Invalid username or password";
x
は<a>
タグ内にあり、Invalid username or password
は<div>
タグ内にあるため、検証プロセスには少し必要です。 String
操作の。検証を簡単にするために、次のように予想されるエラーメッセージを減らすことができます。
String errorMsg = "Invalid username or password";
これで、次のコードブロックを使用して、actualMsg
にerrorMsg
が含まれているかどうかを次のように確認できます。
if(actualMsg.contains(errorMsg))
{
System.out.println("Test Case Passed");
}else
{
System.out.println("Test Case Failed");
};
Div内には「無効なユーザー名またはパスワード」というテキストしかありませんが、「×無効なユーザー名またはパスワード」を確認しています。最初に文字列actualMsgからテキストを出力してから、正しいerrorMsgを配置します。
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");
}
;