我将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实例和设置数据的任何建议都会有所帮助!
答案 0 :(得分:1)
使用browser.executeScript()
设置编辑器的数据:
var value = 'Hello';
browser.executeScript(function (arguments) {
window.CKEDITOR.instances.html_editor.setData(arguments[0]);
}, value);