2010-04-10 18 views
13

ckEdtior'un Selenium ile çalışmasını nasıl sağlayabileceğimi bilen var mı? Odağı "html düzenleme" alanına alamıyorum veya html alanının değerini değiştiremiyorum.Selenium ve ckEditör

Bu konuda tecrübesi olan var mı?

cevap

17

: Bu getEval komutuyla işe yaramadı runScript("CKEDITOR.instances['InstanceName'].setData('<p>testContent</p>');") : Ben çalışmak lazım.

1

WYSIWYG editörlerine karşı test ettiğimde, içerik alanında çalışmak için kendi mekanizmamı oluşturmak zorunda kaldım. Normalde, nesnenin iç HTML'sini ayarlamak ve sonra araç çubuklarındaki sayfa manipülatörlerini kullanmaya başlamak zorundadır.

Selenium 2 ile tuş vuruşlarını daha iyi çalışacak ve çok daha kolay bir şekilde gönderebileceksiniz. Sadece anwser tamamlanması için

1

Selenyum çalışma:

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

Kodunuzu "' 'da doğru şekilde biçimlendirmek için sarmanız çok güzel olurdu. Ayrıca çözümünüz hakkında biraz açıklamak bu temsilcisi kazanma yolunda ilerliyor! –

+0

Selenium IDE için küçük iyileştirme, bu her ckeditor örneğine benzersiz bir dize ekler, ancak önce tüm örnekler yüklenene kadar bekler. http://pastebin.com/cMqbsvgR – sitnarf

1

ben benim için çalışan bir çözüm bulduk. Bir kullanıcı extension.js ekleyebilirsiniz (Seçenekler> seçenekler> Selenyum Çekirdek Uzantısı> Göz) Aşağıdaki yazma:

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

Bu Selenyum IDE Komut seçeneklerinde insertCKEditor seçeneği ekleyecek.