2012-06-06 27 views
0

我想檢查我可以在文本字段中插入的字符數量,並且正在考慮使用'for循環',但它不會幫助Selenium嘗試插入超過所需字符的字段不會接受但測試繼續沒有任何失敗,那麼有沒有辦法獲得文本字段的字符數?如何驗證文本字段的字符數?

回答

1

這項工作?

final String myLongString = "Something horrrrribly looooong"; 
final int longStringLength = myLongString.length(); 

// assuming driver is a healthy WebDriver instance 
WebElement elem = driver.findElement(By.id("myInput")); 
elem.sendKeys(myLongString); 
// it's possible that you'll first need to lose focus on elem before the next line 
int realLength = elem.getValue().length(); 
assertEquals(longStringLength, realLength); 
+1

作爲一個說法,** longStringLength **應該比預期更多** realLength **所以您可以肯定,該文本字段按預期方式工作,並且不允許用戶輸入比假定更多的字符。斷言應該像_assertEquals(255,realLength); _ –

+0

聽那傢伙。 –

+0

謝謝你們兩位... – Wasi

0

使用量角器我捕獲字段中的實際文本,然後做forloop來計算每個字母。

element(by.css('elementPATH')).getAttribute('value').then(function(words){ 
      //forloop to count each word 
      var x = 0 
      for(var i = 0; i < words.length; i++) { 
       x = x + 1; 
      }; 
      //check condition 
      expect(x).toBe(200); 
      return true; 
     }); 

讓我知道,如果這有助於。