0

SeleniumIDEでFCKeditorを使用するWebアプリケーションをテストしたいと思います。残念ながら、FCKeditorはSeleniumIDEでテストするのが難しいiframeを使用しています。基本的に、私がやりたいのは、FCKeditor編集領域の値を設定し、後でそれを読んで、値が正しく送信されたかどうかを確認することです。

この質問は2つあると思います。まず、この問題に対するFCKeditor固有の解決策を持っている人はいますか?次に、Selenium IDEでのテストで使用できるカスタムJavascript関数を実装するための良い方法を知っている人はいますか?

4

1 に答える 1

1

私は解決策を考え出しました。これには、Selenium IDEのstoreEvalメソッド、storedVars変数、無名関数の使用が含まれます。また、のactiveElementプロパティを利用します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 に答える