2012-06-06 66 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; 
     }); 

让我知道,如果这有助于。