0

我想测试一个在Selenium IDE中使用FCKeditor的 Web 应用程序。不幸的是,FCKeditor 使用 iframe,这在 Selenium IDE 中很难测试。基本上,我要做的就是设置FCKeditor编辑区的值,稍后再读取,看看值是否提交正确。

我想这个问题有两个方面:首先,有没有人有针对这个问题的 FCKeditor 特定的解决方案?其次,有没有人知道实现自定义 Javascript 函数的好方法,可以在 Selenium IDE 中的测试中使用?

4

1 回答 1

1

我想出了一个解决方案。它涉及使用 Selenium IDE 的storeEval方法、storedVars变量和匿名函数。它还利用activeElement了 s 的属性iframe

基本上,我所做的是storeEval使用 javascript 调用该方法,以将某个元素设置为storedVars我稍后将用作参数的函数。例如FCKeditor,参数将是:

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;}

我故意这样格式化它,因为这是它在 Selenium IDE 中显示的方式,而且我显然不太理想。

然后,稍后,当我真正想设置 FCKeditor 字段的值时,我storeEval再次使用 javascript 调用该函数作为参数,如下所示:

storedVars["setFCKeditorField"].call(this, "SU_ats_subscription_configuration_model[subscription_reminder_message]", "Subscription Expiring Message.<br/>");

这行得通,但我希望有更好的方法。Selenium RC 会让这一切变得简单吗?

于 2010-06-08T20:13:18.333 回答