Jak działa metoda „element (selektor, etykieta) .query (fn)” w testach Angular E2E?

Podczas pisania testów E2E dlaBiegacz scenariusza kątowego Natknąłem się naquery() metoda:

element(selector, label).query(fn)

Thedokumentacja mówi:

Wykonuje funkcję fn (selectedElements, done), gdzie selectedElements są elementami, które pasują do danego selektora jQuery, a done jest funkcją, która jest wywoływana na końcu funkcji fn. Etykieta jest używana do wyjścia testowego.

Napisałem więc etui na zestaw przycisków na mojej stronie 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();
    });
});

W wyniku wykonania testu otrzymałem listę 10 nieudanych klauzul oczekiwania z tekstem:

spodziewana prawda, ale była nieokreślona

Pokazało to pośrednie debugowanieelm.innerText in buttonText warunek jest prawdziwy.

Więc moje pytanie brzmi: co poszło nie tak? Czy to niewłaściwe użyciedone() metoda?

questionAnswers(2)

yourAnswerToTheQuestion