2010-04-10 22 views
13

有誰知道我如何才能讓ckEdtior與Selenium一起工作。 我無法將焦點轉移到「html編輯」字段或更改html字段的值。Selenium和ckEditor

有沒有人有這方面的經驗?

回答

17

只是爲了完成anwser: 我得到它一起工作: runScript("CKEDITOR.instances['InstanceName'].setData('<p>testContent</p>');") 它沒有與getEval命令工作。

1

當我有一個測試所見即所得的編輯器時,我不得不建立我自己的機制在內容區工作。通常它需要設置對象的內部HTML,然後開始在工具欄中使用頁面操縱器。

使用Selenium 2,您將能夠發送擊鍵以使它們更好,更輕鬆地工作。

1

硒工作:

selenium.runScript("for(var i in CKEDITOR.instances) { var x = CKEDITOR.instances[i]; " + " x.setData('" + texto + "'); }"); 
+0

如果你可以在''中包裝你的代碼,以便它的格式正確,那將是非常棒的。還解釋一下你的解決方案,以獲得該代表的方式! – 2012-12-04 20:32:06

+0

Selenium IDE的改進不大,這會爲每個ckeditor實例添加唯一字符串,但首先會等待所有實例加載完成。 http://pastebin.com/cMqbsvgR – sitnarf 2015-07-27 12:23:10

1

我發現,爲我工作的解決方案。您可以將用戶extension.js(選項>選項>硒的芯擴展>瀏覽)寫入以下內容:

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 
+"');"); 
} 

這將在硒IDE的命令選項添加insertCKEditor選項。