Ubuntu11.10で実行されているFirefox11でSelenium1.7.2を使用しています。昨日まで、document.domain
JavaScriptを使用していませんでした。生成されたHTMLとjavascriptファイルの1つに追加する必要がありました。Selenium IDE Test Suiteを実行すると、次のエラーが発生します。
Error: Permission denied for <http://dev.example.com> to get property Location.href
dev.example.com
私たちのアプリケーションサーバーです(Apache +mod_jkの背後にあるGlassfish3.1.2)
コメントアウトすると、document.domain
すべてがうまく機能します(少なくともFirefoxでは、document.domainはIEがPIE.htcスクリプトをブロックするのを防ぐためです...ため息)
ここにあるユーザー拡張スクリプトを追加してみました:
function setdom(str,doc,dom) {
doc.domain = dom;
}
Selenium.prototype.doDocumentDomain = function(domain) {
var lw;
setdom('ts',frames['testSuiteFrame'].document, domain);
setdom('tf', getTestFrame().contentWindow.document, domain);
setdom('my', frames['myiframe'].document, domain);
lw = LOG.getLogWindow();
if (lw) {
setdom('log', lw.document, domain);
}
setdom('doc', document, domain);
}
しかし、これはかなり古く見え、おそらくもう互換性がありません。setdom('ts',frames['testSuiteFrame'].document,domain);
回線への最初の呼び出しでエラーを返します
私はHTTPとHTTPSの間を行ったり来たりしていません。私は、StackOverflowとGoogleグループに関連する多くの質問を読みましたが、結果はありません。
document.domain
IEのみを含めるようにコードを変更できますが、あまりクリーンではありません...
質問:document.domainが設定されている場合、セキュリティの問題なしにSelenium IDEを機能させるにはどうすればよいですか?または、Selenium IDE 1.7.2で動作するように、上記のユーザー拡張機能を修正するにはどうすればよいですか?ありがとうございました。