2017-12-21 21 views
3

ログインに失敗した後に表示されるエラーメッセージを確認します。私はいつも試みている「テストケース失敗」を取得しています。selenium web driverを使用してエラーメッセージを確認してください。

"無効なユーザー名またはパスワード"でテキストを確認したいと考えています。私が試したコードは以下の通りです。

これは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"); 
    }; 

出力は常に「テストケースが失敗しました」です。

これを修正する方法はありますか?あなたは次のように<div>タグに到達しなければならないテキストInvalid username or password抽出するために

答えて

2

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

を次のあなたの予想されるエラーメッセージは次のとおりです。xとして

String errorMsg = "× Invalid username or password"; 

<a>内にありタグおよびInvalid username or password<div>タグ内にある場合、検証処理にはStringビットの操作が必要です。

String errorMsg = "Invalid username or password"; 

は今、あなたは次のようにactualMsgerrorMsgが含まれているかどうかを確認するために、次のコードブロックを使用することができます:次のように単純な検証が予想エラーメッセージを減らすことができるようにするには

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

divの中に「無効なユーザー名またはパスワード」という文字列しかありませんが、「無効なユーザー名またはパスワード」が表示されています。 String 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"); 
    } 

;

関連する問題