我有一个文本字段。我想测试输入的字符是否小于15。请找到以下代码。
<div input-container placeholder="fname">
<input fr-validate type="text" class="form-control border-radius-0" ng-maxlength="15" ng-model="fname" />
</div>
答案 0 :(得分:1)
是的,您需要使用getAttribute('value')
来获取输入值,但它不会像@MrWoGu建议的那样直接工作。 element.getAttribute('value')
会返回一个承诺,您需要明确地解决它:
element.getAttribute('value').then(function (value) {
expect(value.length).toBeLessThan(15);
});
或隐含地使用expect()
- 修补它以解决承诺。现在,问题是,选择什么匹配器检查字符串长度。以下是选项(包括来自jasmine-matchers
包的匹配器):
expect(element.getAttribute('value')).toMatch(/.{1,14}/);
expect(element.getAttribute('value')).toBeShorterThan("012345678901234");
虽然可能有一种更好的方法可以用一个匹配器在一行中解决它。制作custom matcher也是一种选择。
答案 1 :(得分:0)
在量角器中,您必须将getAttribute用于文本字段。
试试这个:
if (element.getAttribute('value').length < 15)
{
// less than 15
}