Como o método “element (selector, label) .query (fn)” funciona nos testes Angular E2E?
Ao escrever testes E2E paraCorredor do cenário angular Me deparei com umquery()
método:
element(selector, label).query(fn)
odocumentação diz:
Executa a função fn (selectedElements, done), onde selectedElements são os elementos que correspondem ao seletor de jQuery fornecido e é uma função que é chamada no final da função fn. O rótulo é usado para saída de teste.
Então eu escrevi um caso para um conjunto de botões na minha página 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();
});
});
Como resultado da execução do teste, recebi uma lista de 10 cláusulas de expectativa com texto:
esperado verdadeiro, mas foi indefinido
Depuração intermediária mostrou queelm.innerText in buttonText
condição é vital.
Então, minha pergunta é: o que deu errado? É o uso incorreto dedone()
método?