angularjs アプリケーションを E2E テストしようとしています。API からの項目が入力された select2 選択ボックスがあります。この select2 選択ボックスには、検索に追加されるフィルターのリストがあります。
<input id="filter-select2" ui-select2="dataArray" ng-model="selected"/>
私が抱えている問題は、私が行っている E2E テストで選択ボックスを開けないように見えることです。アプリケーションをロードする$('#s2id_filter-select2').select2('open');
と、Chrome Javascript コンソールで select2 選択ボックスを開くことができます。私もできますangular.element('#s2id_filter-select2').select2('open');
。
しかし、E2E テスト自体でこれを実行しようとすると、要素に.select2()
.
element('#s2id_filter-select2').select2('open');
私は両方を試しました
element('#s2id_filter-select2').query(function (e, done) {
e.select2('open');
done();
});
E2Eテストで。.fadeOut()
後者の例 ( element().query()
)を呼び出すことはできますが、 を呼び出すことはできません.select2()
。
E2E テスト構成に select2.js と angularui.js (angular-ui のディレクティブを使用しています) を含めてみましたが、何も変わりません。
select2 などの jQuery ライブラリを E2E テストから呼び出すことに成功した人はいますか?
また、select2ボックスをスキップすること、つまり「選択された」モデルを直接設定することも考えました。これは、フィルター選択時にアプリケーションを更新する $watch があるためですが、モデルを設定する方法が見つからないようですテスト自体を通して。
e2e 構成は次のファイルを使用しています。
files = [
ANGULAR_SCENARIO,
ANGULAR_SCENARIO_ADAPTER,
'tests/students/scenarios/*.scenario.js',
'dev/students/js/script.js',
'dev/students/js/*.js'
];
tests/ および dev/ ファイルの前後に select2、jQuery、angular-ui を含めてみました。
編集:選択したモデルをinput('selected').enter('sth');
で設定できますが、モデルとして設定できないようです。これにはカスタム DSL を書かなければならないのでしょうか?