2013-12-18 11 views
-2

我有一個元素包含帶斷點的文本。使用Java,我如何驗證元素的文本是我所期望的?使用Java,我如何驗證元素中包含中斷的文本?

我正在使用下面的代碼,但它總是失敗。打印的報告顯示實際和預期的文本值是相同的,所以我不知道它爲什麼會失敗。

<span id="ctl00_cphMainContent_lblWelcomeText"> 
Dear Tester, 
<br> 
<br> 
Line 1 
<br> 
<br> 
Line 2 
<br> 
<br> 
Line 3 
<br> 
<br> 
Line 4 

和我的Java:

public static final String PAGETEXT = "css=ctl00_cphMainContent_lblWelcomeText"; 

protected void verifyText(PAGETEXT, "Dear Tester,\r\n\r\nLine 1\r\n\r\nLine 2\r\n\r\nLine 3\r\n\r\nLine 4"){ 
     //verify that the expected text is present 
     String actualtext = driver.getSingleElement(PAGETEXT).getText(); 
     Assert.assertEquals(actualtext, expectedtext); 
+0

問題(代碼)替代
是不完整的 使用的編碼縮進 –

+1

至少投入一些精力在格式化你的代碼,徹底如果你期望的答案描述你的問題(代碼輸出,預計產量等)。 .. –

+0

您是否將您實際獲得的文本打印到控制檯並與您比較的內容進行比較? '
'和'\ n'或'\ r \ n'可能無法按照您的預期進行轉換。 – zapl

回答

1

您可以使用這樣的事情。

String expectedtext="Dear Tester, \n\nLine 1\n\nLine 2\n\nLine 3\n\nLine 4"; 

public void verifyText(){ 
    String actualtext = driver.getSingleElement(PAGETEXT).getText(); 
    Assert.assertEquals(actualtext, expectedtext); 
} 

基本上保持你的空間,因爲它在實際的文字。用\ n

1

我會誠實地將此分解爲單獨的斷言。

verifyTextContains(PAGETEXT, "Dear Tester,"); 
verifyTextContains(PAGETEXT, "Line 1"); 
verifyTextContains(PAGETEXT, "Line 2"); 
verifyTextContains(PAGETEXT, "Line 3"); 
verifyTextContains(PAGETEXT, "Line 4"); 

這是當然的,假設你的驗收標準並不包括「確保違反這些線之間出現」

相關問題