Как работает метод «element (селектор, метка) .query (fn)» в тестах Angular E2E?
При написании тестов E2E дляУгловой сценарий бегун Я наткнулся наquery()
метод:
element(selector, label).query(fn)
документация говорит:
Выполняет функцию fn (selectedElements, done), где selectedElements - это элементы, соответствующие заданному селектору jQuery, а done - функция, которая вызывается в конце функции fn. Метка используется для тестового вывода.
Итак, я написал it-case для набора кнопок на моей html-странице:
it('should display all buttons on page load', function () {
var buttonText = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'];
element('button', 'UI elements').query(function (selectedElements, done) {
selectedElements.each(function (idx, elm) {
expect(elm.innerText in buttonText).toEqual(true);
});
done();
});
});
В результате выполнения теста я получил список из 10 неудачных ожидающих предложений с текстом:
ожидалось, но не определено
Промежуточная отладка показала, чтоelm.innerText in buttonText
состояние правдивое.
Итак, мой вопрос, что пошло не так? Это неправильное использованиеdone()
метод?