Seleniumで複数ドメインに対するテストケースを実行する方法

スポンサーリンク

Seleniumではテスト対象のアプリケーションをフレームまたは別ウインドウとして開き、そこに対してJavaScriptにより操作を行っています。
そのため、ドメインが切り替わるようなテストケースは、Same Origin Policy(同一生成元ポリシー)に引っ掛かるため、特殊なブラウザ指定でしか実行できません。(http<->httpsで切り替わる場合も、この制約に引っかかってきます)
ドメインを跨いだテストケースが実行可能なのは、現時点で私が確認できているのは、"*chrome"だけです。(Selenium RC 1.0b1で確認)
("*iehta"も可能というのを見かけましたが、私の環境では、"*iehta"指定すると、ブラウザが起動された時点でエラーになります…)
これらは、Seleniumを特別な権限をもった形で実行しており、同一ドメインの制約を回避しています。("*chrome"は、Firefoxchromeスキームで実行しています)
なお、Selenium IDE(Firefoxのアドオン)は、同じように特別な権限で実行されるので、問題なく動きます。


後は、proxyInjectionModeと、userContentTransformationを使って、レスポンスの内容を置換して、、っていう荒業もあるようですが、自分の環境では、proxyInjectionModeで起動することが出来ませんでした…


あくまで、自分が現時点で認識している範囲の情報なので、もしかしたら、他の方法もあるかもしれません。
もしも、他の方法をご存知の方がいたら、ご教授いただけると助かります。