3

我有一个网格,可以使用 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;
    };
});

过了一会儿,我可以让它的一半工作,但它仍然不会触发对我的角度指令代码工作至关重要的“更改”事件(即使在那里有触发器调用)。

解决这个问题的最佳方法是什么?想法?

4

0 回答 0