Angular Scenario Runnerの E2E テストを書いているときに、query()次の方法に出会いました。
element(selector, label).query(fn)
ドキュメントには次のように記載されています。
関数 fn(selectedElements, done) を実行します。ここで、selectedElements は指定された jQuery セレクターに一致する要素であり、done は fn 関数の最後に呼び出される関数です。ラベルはテスト出力に使用されます。
そこで、html ページの一連のボタンの it-case を作成しました。
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 個の期待句のリストとテキストを受け取りました。
true が期待されていましたが、未定義でした
中間デバッグは、elm.innerText in buttonText条件が真実であることを示しました。
だから私の質問は、何がうまくいかなかったのですか?done()メソッドの使い方が間違っていませんか?