CKEditor + Protractor:使用Protractor进行测试无法找到CKEditor实例

时间:2015-05-15 06:22:23

标签: javascript angularjs selenium ckeditor protractor

我将Protractor用于非Angular页面,并希望在页面上找到CKEditor实例,然后为其设置数据。我可以通过以下方式在Chrome控制台中执行此操作:

CKEDITOR.instances.html_editor.setData("Hello")

在我对该页面的测试中,我有以下代码:

it('should enter text in editor successfully', function() {

    var composerPage = new ComposerPage();

    browser.executeScript('return window.CKEDITOR');    
    window.CKEDITOR.instances.html_editor.setData( 'Hello' );        

  });

但是,返回的错误是:

  

错误:失败:无法读取未定义

的属性“实例”

我已经在这里看过这个Stack Overflow问题:Protractor: How to access global variables that we have inside our application?但是并没有真正帮助我解开。

关于如何定义CKEditor实例和设置数据的任何建议都会有所帮助!

1 个答案:

答案 0 :(得分:1)

使用browser.executeScript()设置编辑器的数据:

var value = 'Hello';
browser.executeScript(function (arguments) {
    window.CKEDITOR.instances.html_editor.setData(arguments[0]); 
}, value);