Tag Archives: proxy

Selenium RC ServerとNTLM認証 – FireFox編

昨日のエントリと同じ話題ですが、こちらはFireFoxの場合。テスト対象のURLがIISでホストされていて、NTLM認証を使用している場合、Selenium RCのJava Server(Proxy)で単にFireFoxを立ち上げてしまうとPromptというタイトルでユーザ名とパスワードの入力を求める認証ダイアログが出てしまいます。これは、SeleniumではJavaScriptを使用しているため、自動入力できませんし、先日紹介したUWSC等の他のツールを使っても簡単にはできなさそうです(これはもう少し根性入れれば可能かも知れませんが、単にWindows APIをたたくぐらいではどうもうまく行かないようです)。IEの場合は、先日のバグ修正を入れてやればIE自体が自動的にNTLM認証に対応してくれているので、OKだったのですが、FireFoxでは、それだけではこのPromptダイアログが出てしまい、うまく行きません。Seleniumサイドからいくら調べても解決策が見当たらず、諦めかけていたところで、はたと気が付きました。これは、Selenium特有ではなくて、FireFoxでIIS等Microsoft技術を組み合わせようとすると必ずぶち当たる問題のはずなので、Selenium抜きで、単にNTLM認証とFireFoxについて調べればいいのかと。そうしたら、あっさり見つかりました(笑)。 私の場合は、下記のBlogが最初のヒントでした。 http://www.crossedconnections.org/w/?p=89 要は、Firefoxのアドレスバーにabout:configと打ち込んで、network.automatic-ntlm-auth.trusted-urisというエントリを見つけて、そこにテスト対象のURIを入れてあげればいいわけです。 で、これをSelenium RCに応用するには、大体以下の要領で行けばいいわけです。 SeleniumのJava Serverで使用するデフォルトのFirefoxプロファイルを何らかの形で手に入れる(私の場合はビルド環境から入手)。 上記で得たプロファイルのフォルダにprefs.jsというファイルをコピーしてくるか、空のファイルで作成します。 prefs.jsの中に下記の行を追加します。http://hostnameの部分に対象となるURIを入力します。手で編集するのに自信がない場合や、この辺の詳細については、本家のhttp://kb.mozillazine.org/Editing_configurationを参照してください。 user_pref(“network.automatic-ntlm-auth.trusted-uris”, “http://hostname”); このプロファイルを適当なフォルダに置き、Selenium Serverの起動オプション -firefoxProfileTemplate に指定してあげます。 この要領で、私の場合はユーザ認証のダイアログが消せました。同様の現象にはまってしまった場合は、ぜひ試してください。

Posted in インターネット, コンピュータ, 技術 | Tagged , , , , , , , , | Leave a comment

Selenium RC ServerとNTLM認証

先日、Selenium Remote ControlのJava Serverのビルド方法のメモを書いたのですが、なんでビルドしないといけなかったかというと、テスト対象のアプリがIISでホストされていて、NTLM認証を使っていたのですが、ProxyであるSelenium RCのJava Serverを通す場合に、どうもその認証が正しく処理されないために、アクセス権がないと言われてテスト対象のサーバにアクセスできないという現象に当たってしまったのがきっかけでした。 で、フォーラムを調べていたら下記のバグ修正が見つかりました。 http://jira.openqa.org/browse/SRC-252 この修正を入れると、一度普通にIEで対象サイトにアクセスしておけば認証されたセッションの情報が記録されるので、Selenium RCから起動されたIEフレームでも問題なくアクセスできるようになりました。似たような現象に遭遇した場合は、試す価値ありと思います。

Posted in インターネット, コンピュータ, 技術 | Tagged , , , , , , , , , | 1 Comment