当我尝试获取绑定元素的文本时,它给出了 div 元素的总文本

when i am try to get text of a binding element, it gives the total text of the div element

**HTML code :**

<div align="left">
     {{input.visaValidFrom}} // visa valid from value is 2015-01-03
     - 
     {{input.visaValidTo}}   // visa valid to value is 2015-12-01
</div>

量角器代码:

expect(element(by.exactBinding('input.visaValidFrom')).getText()).toBe('2015-01-03');

量角器错误:

Expected '2015-01-03 - 2015-12-01' to be ' 2015-01-03'.

哪位大神帮帮我,怎么解决。

element() 这里的调用指的是 ElementFinder 表示单个元素。换句话说,您将获得一个包含绑定 (div) 的元素,而不是绑定本身的值。

在这种情况下,您应该声明完整的元素文本:

expect(element(by.exactBinding('input.visaValidFrom')).getText()).toBe('2015-01-03 - 2015-12-01');

或者,您可以通过 -:

手动 split 文本
element(by.exactBinding('input.visaValidFrom')).getText().then(function (value) {
    expect(value.split(' - ')[0]).toEqual('2015-01-03');
});