Ответ 1
Только для завершения андерсера:
Я получил его для работы с:
runScript("CKEDITOR.instances['InstanceName'].setData('<p>testContent</p>');")
Он не работал с командой getEval.
Кто-нибудь знает Как я могу заставить ckEdtior работать с Selenium. Я не могу сосредоточиться на поле "html edit" или изменить значение поля html.
Есть ли у кого-нибудь опыт?
Только для завершения андерсера:
Я получил его для работы с:
runScript("CKEDITOR.instances['InstanceName'].setData('<p>testContent</p>');")
Он не работал с командой getEval.
Когда мне приходилось тестировать редакторов WYSIWYG, мне пришлось создать собственный механизм для работы в области содержимого. Обычно это связано с необходимостью установки внутреннего HTML-объекта, а затем начать использовать манипуляторы страниц в панелях инструментов.
С Selenium 2 вы сможете отправлять нажатия клавиш, чтобы они работали лучше и намного проще.
Работа в селене:
selenium.runScript("for(var i in CKEDITOR.instances) { var x = CKEDITOR.instances[i]; " + " x.setData('" + texto + "'); }");
Я нашел решение, которое сработало для меня. Вы можете вставить user-extension.js(Опции > Параметры > Selenium Core Extension > Browse), введя следующее:
Selenium.prototype.doInsertCKEditor = function(locator,word)
{
this.doWaitForCondition("var x = Selenium.browserbot.findElementOrNull('//td[@id=\"cke_contents_form \"]');x != null;", "50000");
this.doRunScript("CKEDITOR.instances['"+locator+"'].setData('"+word
+"');");
}
Это добавит параметр insertCKEditor в опции Command для Selenium IDE.