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

标签 javascript angularjs angular-ui protractor ace-editor

我想针对 ui-ace 测试一些按键实例。但是,Protractor 无法将焦点放在 ace 元素上。 Ace 包括一个 <textarea>可以关注(并因此发送 key )但是ui-ace不识别在那里输入的键(随后不更新模型)。

选择方法( by.model 等)没有影响。

我目前的解决方法是使用 evaluate手动设置范围值,但这打破了使用 Protractor 的要点。

最佳答案

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

以下至少适用于 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
    });
});

关于javascript - 如何使用 Protractor 将 key 发送到 ui-ace 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25675973/

相关文章:

javascript - 将 "resolve"放在 Angular-ui-router View 上不起作用 - 页面根本无法渲染

javascript - 配置 Angular UI 按钮

javascript - AngularJS。调用 angular-ui 模态时清除 $timeout

javascript - 浏览器如何加载网站内容的视觉呈现

javascript - 正在对动态子项进行排序的 Lit 元素

javascript - WHERE OR 查询 - CouchDB

angularjs - 如何禁用 Angular JS 中的选项?

angularjs - ngAnimate 对象未设置为函数

html - Angular.js Controller 无法设置属性

javascript - 为什么javascript会覆盖Html代码