如何使用codeception用内容填充CKeditor textarea

时间:2016-10-17 19:03:09

标签: selenium ckeditor codeception rich-text-editor acceptance-testing

这是对此问题的跟进问题 - How to fill a rich text editor field for a Codeception Acceptance test

这篇文章中给出的solution完全适用于CKeditor版本4.3.2 Standard,如site CKeditor实例所示,但不幸的是我的网站自己的CKeditor是4.5.10版本。

我网站的CKeditor问题 - Webdriver抛出一个错误,指出找不到textarea的name属性。在示例中,使用CKeitor这不是问题,我可以获得焦点并将自定义内容添加到textarea。

问题 - CKeditor 4.3.2(工作)和版本4.5.10(不工作)之间有很大的区别,这会导致此解决方案不起作用吗?

工作现场的Textarea

<textarea id="ckeditor" style="visibility: hidden; display: none;"></textarea>

使用id="ckeditor"按预期工作。

我网站上的Textarea

<textarea class="js-text-full text-full form-textarea resize-vertical" data-drupal-selector="edit-field-pck-headline-0-value" aria-describedby="edit-field-pck-headline-0--54Lxz-5-U5g--description" id="edit-field-pck-headline-0-value--im63vH7ew8s" name="field_pck_headline[0][value]" rows="5" cols="60" placeholder="" data-editor-active-text-format="full_html" style="visibility: hidden; display: none;"></textarea>

我正在使用name="field_pck_headline[0][value]"但是webdriver无法找到此

感谢您在我的版本(4.5.10)上获得焦点到CKeditor textarea的任何帮助。我很高兴提供更多细节,让我知道。

这是我本地CKEditor textarea的屏幕抓取,我试图将注意力集中到My local CKEditor textarea

2 个答案:

答案 0 :(得分:1)

这对我有用(测试Drupal 7网站):

$I->executeJS("CKEDITOR.instances['edit-body-und-0-value'].setData('Text entered via Selenium.');");

答案 1 :(得分:0)

我在验收测试中使用了CKeditor 4.4,selenium webdriver。

这对我有用。在此之后

How to fill a rich text editor field for a Codeception Acceptance test

页面的HTML:

<div id="cke_1_contents" class="cke_contents cke_reset">

    <iframe class="cke_wysiwyg_frame cke_reset" frameborder="0" src=""> 

在我的测试中:

$I->fillCkEditorById('1_contents', 'your added content');

USE 1_contents AS A PARAM