3

Rails Webアプリケーションをrspecでテストし、rspecテストでselenium-client(gemバージョン1.2.18)APIを使用して、Selenium RCサーバー(バージョン2.21.0)がAPでInternetExplorer7を操作してアプリケーションをテストできるようにします。

これは、ログインと登録のプロセスにHTTPSを導入するまでは非常にうまく機能しました。これで、ユーザーは安全なバージョンのログインおよび登録フォームにリダイレクトされ、その後、安全でないHTTPサイトにリダイレクトされます。

セレンテストをHTTPSおよびInternetExplorer7で機能させるために、「*iexplore」ではなく「*iexploreproxy」を使用してセレンドライバーを設定し、ポート4444を使用します。http://blogで説明されているようにCyber​​VillansSSL証明書もインストールしました。 .mogotest.com / 2010/04/13 /how-to-accept-self-signed-ssl-certificates-in-selenium/。-trustALLSSLCertificatesを使用してseleniumrcサーバーを実行します。これにより、自己署名SSL証明書の問題が解決されました(セレンRC> 2.21は、日付から間違った有効値を設定するバグのために機能しないことに注意してください)。

その後、テストの実行時に「PermissionDenied」エラーが発生しました。これは、 http://wiki.openqa.org/display/SEL/Selenium+Core+FAQの「HTTPS経由でWebサイトにアクセスすると、パーミッション拒否エラーが発生するのはなぜですか?」で説明されている同一生成元の問題が原因であることがわかりました。 "。この問題は、Internet Explorer 7のプロキシ設定を調整し、localhost:4444を使用してすべてをSeleniumRCサーバー経由でルーティングすることで解決できます。動作しますが、問題は、テストを実行するたびにプロキシ設定がリセットされることです。

私の最初の質問は次のとおりです。InternetExplorer7でこれらの設定を永続化するにはどうすればよいですか。IEのカスタムプロファイルについて読みましたが、rspecテスト用にこれを設定する方法がわかりません。proxy.pacファイルについても読みましたが、解決策を探しても成功しませんでした。

次の問題は、テストを実行すると、セレンによる「アクセス拒否」エラーも発生することです。これらを解決する方法と、なぜ発生するのかわかりません。だから私の2番目の質問は次のとおりです:説明されている設定の下でそれらを取り除くにはどうすればよいですか?

4

0 に答える 0