2015-05-15 3 views
2

Я использую Транспортир для неграмотной страницы и хочу найти экземпляр CKEditor на странице, чтобы затем установить данные. Я могу это сделать в консоли Chrome с помощью:CKEditor + Protractor: Тестирование с помощью Protractor не может найти экземпляр CKEditor

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');   

    }); 

Однако, возвращается ошибка:

Error: Failed: Cannot read property 'instances' of undefined

Я уже рассмотрел этот вопрос переполнения стека здесь: Protractor: How to access global variables that we have inside our application?, но на самом деле не помог мне отклеить.

Любые предложения относительно того, как я могу определить экземпляр CKEditor и установить данные, были бы полезны!

ответ

1

Использование browser.executeScript() для установки данных редактора:

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

все еще получаю '' 'Не удается прочитать свойство 'экземпляров' из undefined'''. Возможны любые другие предложения? –

+0

@RyanDrake как насчет 'browser.executeScript (" window.CKEDITOR.instances.html_editor.setData (arguments [0]); ", value);'? – alecxe

+0

Такая же ошибка. В этом случае все тесты терпят неудачу. –