2015-09-02 65 views
0

在我@Test有一條線,如只緩存確切值:硒的webdriver - 如何從gettext的()

String newPassword =getDriver().findElement(By.id("somethin")).getText();

喜歡它返回例如文本: 密碼testuser的改變:v5ZqppuBycjZ

如何進行最後一條通知? 如何從getText()中僅排除最後12個字符(在這種情況下使用新傳遞)?

+0

我認爲「somethin」是一個包含新密碼正確的文本框?如果沒有,那麼使用你的文本框的ID來獲得價值。 –

回答

2

你可以使用split method of String class這樣的:

String p[] = getDriver().findElement(By.id("somethin")).getText().split(" "); 
String newPassword = p[p.length-1]; 

上面的代碼將獲取文本和使用空間割裂開來(」「)作爲分隔符,並把它們放到一個字符串數組。然後,我們可以只讀取數組中的最後一個項目,即文本。

+0

認識到子字符串可以更容易:)解決方法:'getText()。substring(42,54);' – Michau

+2

好吧.. :)但是,然後再次以防萬一文本更改並說文本「更改爲」從返回的輸出,你會遇到麻煩..;) – Subh

+1

什麼Subh說...你不想像你那樣使用substring()。如果用戶名更改長度會怎麼樣?如果密碼更改長度會怎樣?您的測試將錯誤地失敗。 – JeffC