我想测试在FCKeditor中使用Selenium IDE的网络应用程序。不幸的是,FCKeditor使用iframe,这在Selenium IDE中很难测试。基本上,我想要做的就是设置FCKeditor编辑区域的值,稍后再读取它以查看值是否正确提交。
我认为这个问题有两个方面:首先,是否有人有针对这个问题的FCKeditor特定解决方案?其次,有没有人知道实现可以在Selenium IDE中进行测试的自定义Javascript函数的好方法?
答案 0 :(得分:1)
我想出了一个解决方案。它涉及使用Selenium IDE的storeEval
方法,storedVars
变量和匿名函数。它还利用了activeElement
的{{1}}属性。
基本上,我所做的是使用javascript调用iframe
方法将storeEval
的某个元素设置为稍后将用作参数的函数。对于storedVars
示例,参数将是:
FCKeditor
我故意将其格式化,因为这是它在Selenium IDE中显示的方式,而且我显然不太理想。
然后,稍后,当我真的想要设置FCKeditor字段的值时,我再次用javascript调用storedVars["setFCKeditorField"] = function (fieldName, value) {var iframe = this.browserbot.findElement("id="+fieldName+"___Frame"); var outerDocument = iframe.contentDocument; var innerDocument = outerDocument.activeElement.contentDocument; var textField = innerDocument.activeElement; textField.innerHTML = value;}
来调用函数作为参数,如下所示:
storeEval
这有效,但我希望有更好的方法。 Selenium RC会让这很容易吗?