我正在使用Java中的WebDriver進行Selenium測試。我有一個比較沒有比較。代碼如下所示:Selenium Comparison
if("20".equals(UserMaintenancePage.UserCount.getText()))
UserCount元素的值肯定是20,但始終無法進行比較。
我試圖用一個.toString()
最後得到相同的結果。
這一個讓我撓了撓頭。
感謝
我正在使用Java中的WebDriver進行Selenium測試。我有一個比較沒有比較。代碼如下所示:Selenium Comparison
if("20".equals(UserMaintenancePage.UserCount.getText()))
UserCount元素的值肯定是20,但始終無法進行比較。
我試圖用一個.toString()
最後得到相同的結果。
這一個讓我撓了撓頭。
感謝
使用此
String val = UserMaintenancePage.UserCount.getText();
int intVal = Integer.parseInt(val);
if(intVal == 20) {
// to do your message
}
這是一個不好的解決方案。 – sircapsalot
哈希碼在他的情況下是不一樣的,所以我做了這個技巧@sircapsalot – SkyWalker
問題是,如果這個'parseInt'失敗怎麼辦?你在這裏的代碼將不會被編譯。此外,由於'getText'返回一個字符串,所以當字符串比較同樣好時,您只需向編譯器添加更多的信息 – sircapsalot
String str = Integer.toString("20");
如果(str.equal(UserMaintenancePage.UserCount.getText())) {}
我認爲代碼可能會失敗由於「UserMaintenancePage.UserCount.getText()
」正在返回「20」或「20」而不是「20」。所以你可以使用.trim()函數來清空空格。我希望以下提到的代碼爲你工作:
if("20".equals(UserMaintenancePage.UserCount.getText().trim()))
{
// write your code..
}
希望這有助於:)
有偶爾的額外字符漸入webelement。每次在它上面放置一個.trim()解決了這個問題。
感謝您對我的支持。
'System.out.println(UserMaintenancePage.UserCount.getText())'的結果是什麼? – hexafraction
它返回20. – stevepurcell
請發佈整個'if'塊的內容。 – Berger