У меня есть следующий код, который фильтрует элементы, содержащие текст:отсчет транспортир() ожидание терпит неудачу неожиданно
var myspan = searchChoices.filter(function(elem, index) {
return elem.getText().then(function(text) {
//console.log('index text:' +text);
return text === 'Consultant 110';
});
});
expect(myspan).not.toBe(null);
myspan.count().then(function (x) {
console.log('count:'+x);
});
expect(myspan.count()).toBe(1); // this succeeds
expect(myspan.count()===1).toBe(true); // <---This fails
Самое странное в том, что ожидание на линии перед последней строкой прошла успешно, но последний не удается. Какова причина ?
[ 'COUNT()'] (https://angular.github.io/protractor/#/ api? view = ElementArrayFinder.prototype.count) возвращает обещание, а не целое число. 'ожидать()' знает, как обрабатывать обещание, но 'count() === 1' всегда будет терпеть неудачу – Phil
Да, но не ожидается, что предполагается решить все обещания перед оценкой? – chrisl08
Да, но это логическое значение, которое вы передаете ему, а не обещание – Phil