当我试图使用by.model来选择输入元素时,我正在为我的角度组件编写一些量角器测试,并不断得到一个错误--“未知错误:没有定义角度”。
这很奇怪,因为如果我这样做的话,效果很好,而且很好:
it('should have an input element for searching', () => {
var inputElement = element(by.model('searchText');
expect(inputElement).toBeDefined();
});但是,当我尝试这样做时,它失败了,出现了角上未定义的错误:
it('should filter the search text', () => {
var inputElement = element(by.model('searchText');
expect(inputElement).toBeDefined();
inputElement.clear()
inputElement.click();
inputElement.sendKeys('ICBC');
var tableLengthRow = element.all(by.css('.animate-repeat').count();
expect(tableLength).toBe(1);
});如果我替换这一行:
var inputElement = element(by.model('searchText');有了这个:
var inputElement = element.all(by.tagName('input')).get(0);剩下的就交给我吧测试通过了。
有人知道为什么上面的第一个测试适用于by.model,而不是第二个我实际上是在单击元素的测试吗?
那么,如何用Webpack和npm在页面上定义角度呢?
谢谢
发布于 2017-06-15 04:03:40
by.model不支持角(angular2、angular4和on)。
推荐的替代方案是by.css()。
量角器工作的AngularJS版本大于1.0.6/1.1.4,并兼容角应用。请注意,对于角应用程序,不支持
by.binding()和by.model()定位器的。我们建议使用by.css()**.**
角导轨- E2E试验的替代方案示例
Previous code New code Notes
by.model('$ctrl.query') by.css('input') The model matcher relies on AngularJS ng-model
by.model('$ctrl.orderProp') by.css('select') The model matcher relies on AngularJS ng-modelhttps://stackoverflow.com/questions/44558239
复制相似问题