我有一个网格,可以使用 contenteditable 标记编辑单元格。
网格工作正常并正确绑定到 angularjs 模型,但我无法使用 angularjs e2e 测试框架进行测试自动化工作。
在浏览了 Angular 场景 js 后,我发现了用于执行 e2e 测试的 dsl 方法,并注意到 contenteditable 无法与输入法一起使用。
所以我为 contenteditable 创建了一个新的 dsl 方法:
angular.scenario.dsl('contenteditable', function () {
var chain = {};
chain.enter = function (value) {
return this.addFutureAction("contenteditable '" + this.name + "' enter '" + value + "'", function ($window, $document, done) {
var contenteditable = $document.elements(this.name);
debugger;
contenteditable.text(value);
contenteditable.trigger('change');
done();
});
};
return function (name) {
this.name = name;
return chain;
};
});
过了一会儿,我可以让它的一半工作,但它仍然不会触发对我的角度指令代码工作至关重要的“更改”事件(即使在那里有触发器调用)。
解决这个问题的最佳方法是什么?想法?