2016-02-25 79 views
0

我正在使用Java中的WebDriver進行Selenium測試。我有一個比較沒有比較。代碼如下所示:Selenium Comparison

if("20".equals(UserMaintenancePage.UserCount.getText())) 

UserCount元素的值肯定是20,但始終無法進行比較。

我試圖用一個.toString()最後得到相同的結果。

這一個讓我撓了撓頭。

感謝

+0

'System.out.println(UserMaintenancePage.UserCount.getText())'的結果是什麼? – hexafraction

+0

它返回20. – stevepurcell

+0

請發佈整個'if'塊的內容。 – Berger

回答

0

使用此

String val = UserMaintenancePage.UserCount.getText(); 
int intVal = Integer.parseInt(val); 
if(intVal == 20) { 
// to do your message 
} 
+0

這是一個不好的解決方案。 – sircapsalot

+0

哈希碼在他的情況下是不一樣的,所以我做了這個技巧@sircapsalot – SkyWalker

+0

問題是,如果這個'parseInt'失敗怎麼辦?你在這裏的代碼將不會被編譯。此外,由於'getText'返回一個字符串,所以當字符串比較同樣好時,您只需向編譯器添加更多的信息 – sircapsalot

0
String str = Integer.toString("20"); 

如果(str.equal(UserMaintenancePage.UserCount.getText())) {}

0

我認爲代碼可能會失敗由於「UserMaintenancePage.UserCount.getText()」正在返回「20」或「20」而不是「20」。所以你可以使用.trim()函數來清空空格。我希望以下提到的代碼爲你工作:

if("20".equals(UserMaintenancePage.UserCount.getText().trim())) 
{ 
// write your code.. 
} 

希望這有助於:)

0

有偶爾的額外字符漸入webelement。每次在它上面放置一個.trim()解決了這個問題。

感謝您對我的支持。