我有一個部分與利用角度UI中選擇2元http://angular-ui.github.io/Angularjs端到端測試與角UI選擇二元素
我遇到的問題是,該元素是必需的,雖然我已經順利通過設置字段下面的代碼中,所需的屬性不會被刪除,因爲Angular的模型由於外部變化而不能更新,我不知道如何提供$ scope.apply()或使用Angular的另一個函數來繼續測試。
首先要允許直接jQuery函數運行:(從How to execute jQuery from Angular e2e test scope?拍攝)
angular.scenario.dsl('jQueryFunction', function() {
return function(selector, functionName /*, args */) {
var args = Array.prototype.slice.call(arguments, 2);
return this.addFutureAction(functionName, function($window, $document, done) {
var $ = $window.$; // jQuery inside the iframe
var elem = $(selector);
if (!elem.length) {
return done('Selector ' + selector + ' did not match any elements.');
}
done(null, elem[functionName].apply(elem, args));
});
};
});
然後更改的字段值:
jQueryFunction('#s2id_autogen1', 'select2', 'open');
jQueryFunction('#s2id_autogen1', 'select2', "val", "US");
jQueryFunction('#s2id_autogen1', 'select2', 'data', {id: "US", text: "United States"});
jQueryFunction('.select2-results li:eq(3)', 'click');
jQueryFunction('#s2id_autogen1', 'trigger', 'change');
jQueryFunction('#s2id_autogen1', 'select2', 'close');
input('request._countrySelection').enter('US');
請注意,並非所有這些功能都需要反映了用戶界面的變化,僅僅是我用來試圖獲得這個工作的所有...
如果該元素具有id屬性然後選擇2創建div將s2id_ –