如何使用Protractor将Keys发送到ui-ace实例?

时间:2014-09-04 22:31:32

标签: javascript angularjs angular-ui protractor ace-editor

我想针对ui-ace实例测试一些按键。然而,量角器无法专注于ace元素。 Ace包含{<1}}我可以重点关注(并因此发送密钥)但<textarea>无法识别在那里输入的密钥(并且随后不会更新模型)。

选择方法(ui-ace等)没有影响。

我目前的解决方法是使用by.model手动设置范围值,但这打破了使用量角器的重点。

1 个答案:

答案 0 :(得分:9)

好问题!似乎解决方法是先双击。

以下内容至少适用于Chrome:

"use strict";
describe('Testing ui-ace', function() {
    var divInput = $('div.ace_content');
    var inputElm = $('textarea.ace_text-input');

    it('opens a ui-ace page', function() {
        browser.ignoreSynchronization = true;  // sorry but no angular page
        browser.get('http://angular-ui.github.io/ui-ace/');
        browser.sleep(3000); // sorry but no angular page
    });

    it('starts editing', function() {
        browser.actions().doubleClick(divInput).perform();
    });

    it('enters some text', function() {
        inputElm.sendKeys('Hola');
        browser.sleep(5000); // to let you see the result
    });
});