Как работает метод «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() метод?

Ответы на вопрос(2)

Ваш ответ на вопрос