Tag Archives: Internet

Session Manager – Firefox Extension

Firefoxを2つオープンしていて片方に沢山のタブを開いていて、もう片方にはひとつのタブしかない状態で、沢山のタブの方を先に閉じてしまい、最後にひとつのタブしか開いていなかった方を閉じてしまうと最後の状態がひとつのタブになってしまい、せっかくオプションで最後に使用していたタブを表示するように設定していても、ほぼすべて失われてしまうことに今頃気付いて(それをやってしまった)、んーっ、これは不便、大体セッション状態を複数覚えさせることができればいいだけのことじゃないの、それぐらいならエクステンションに何か便利そうなのがあるだろうと思って検索したら、ありました、すごいいいのが。 Session Manager 他にもあるかも知れませんが、私はこれが一発で気に入りましたので、他は見ていません。複数セッション保存はもちろんできるし、細かな動作設定ができるので今のところジャストフィットという感じで、ありがたい限りです。私のようにこんな基本的なことに気付いていない方がいましたら、必需品ですので、ぜひお試しあれ。

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

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

Selenium Remote ControlのJava Selenium Serverのビルド方法

Selenium Remote Controlを使っていて、どうしてもサーバーを修正する必要があってビルドしないといけなくなったのでその時のメモ。 1. ビルドに必要なもの: JDK, Ant, Maven (私が使用したのはJDK 1.5.0 Update11, Ant 1.7.0, Maven 2.0.6です) 2. ビルド方法は、http://www.openqa.org/selenium-rc/building.htmlに書いてあったのですが、ちょっと説明が古いようでどうもうまく行かない。 で、以下が私がやってうまくビルドが通った手順: A. subversion (私は1.4.3を使用)をインストールして以下のコマンドをコマンドラインで実行。 svn co https://svn.openqa.org/svn/selenium-rc/trunk B. 最新のソースツリーができるので、trunkディレクトリへ移動し、以下のコマンドを適宜実行します(pom.xml の中の<phase> タグで定義されている部分を検索して取得): mvn -Dnotest compile mvn -Dnotest package 他に、mvn testやmvn installがありますが私はjarファイルが欲しかっただけなので、packageまでで十分でした。 それと、フォーラムには、テストをスキップするには、-Dmaven.test.skip を指定しろと書いてある部分があるのですが、少なくともこの記事を書いている時点では、何の効果もありませんでした。 C. … Continue reading

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

Seleniumでテスト作成するときの留意点

先日書いたTestRunnerだと少し遅くしてやらないとテストが通らない場合があると書いたのですが、そういう場合もあるにはあるのですが、少し注意しないといけない点に気付きました。 waitForNotElementPresent を使って何かが存在しないことをチェックしようとする場合に、チェックする対象が現在のページにも次のページにも存在しない場合、現在のページから次のページに切り替わったことを別なコマンドできちんと確認してからwaitForNotElementPresentで対象をチェックしてやらないと、現在のページでもTrueになってしまうので、不具合が生じる場合があります。って当たり前ですが、最初はちょっと気がつきにくかったりします。検証は基本的にassert*系かverify*系のコマンドで行うべきなのですが、ページの切り替えのついでにwaitFor*でとかやっているうちに上記のような状態に陥る可能性がありますので、やはりルールを決めてそれに従ってページ切り替え確認を行うようにした方がよさそうです。例えば、clickAndWaitでリンククリック後、必ずassertTitleかwaitForTitleをはさんでからverify*系で対象が存在することを検証するとか。

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

Seleniumでコメントを入れる方法

Selenium IDEでは、Commentを挿入できますが、これはHTMLの通常のコメントとして保存されるだけで、TestRunnerでテストを実行するときには、当然のことながら表示されません。XPathやDOMオブジェクトでテストターゲットを指定してしまうとテストを作成したときには、何をチェックしているか明白なつもりでも少し時間が経過してから見直すと一見しただけでは一体何をチェックしていたのかわからにくくなってしまうことはよくありそうです。 Seleniumのユーザフォーラムをチェックしていたら、やはりその話題とその解決案が下記に記されていました。 Comment command ちょっとスレッドが長いので要約・整理すると、 Selenium IDEではコメントを挿入すると通常のHTMLコメントとしてしか保存しない。読み込むときも通常のHTMLコメントをテストのコメントとして表示する。 TestRunnerでは、カラムが3つより少ない行は無視する。 これらの性質を利用して、TestRunnerを走らせるときにHTMLのコメントをカラムが1つだけの行に変換して挿入してやれば、テスト実行時や結果ファイルでもIDEで入れたコメントが表に出る。 ということで、下記のスクリプトをSelenium Coreのuser-extensions.js(現在使用していなければこの名前で保存)に追加してやれば、上記のようにIDEで入れたコメントがTestRunnerでも表示されるようになります。Selenium RCの場合は、コマンドラインの引数でユーザエクステンションファイルを指定してやれば、同様の結果を得られます。 フォーラムで指摘されていた修正も反映済みです。 user-extensions.zip

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

Selenium は使えそう

食べ物の話題ばかりだとちょっと知性を疑われかねないので、一応本職関連の話をたまには書きます。 先週、遅ればせながらSeleniumというWebサイトのテスト自動化ツールがあるのを知って、今仕事で移行作業中のサイトの動的コンテンツのRegression Test Suiteを作成してみました。 Selenium IDEというもののおかげで非常にテストケースを作成しやすくなっていることがわかり、オープンソースやっぱすごいなと感心した後、その作者は日本の方であることを知り、さらに感心。インターネットの進歩のおかげで国際的なコラボレーションの垣根は秒進分歩で低くなって行っていることを改めて実感しました。 で、大方、Firefoxで通るようになったテストケースをIEで実行してみると通らないのが一杯出てきて、調べてみると、VerifyTextPresentは特に、表組みを使ってレイアウトされている場合は、IEだと個別にしか認識できないようで、<td>タグに対応して1つのテストケースを作成する必要があるみたい。Firefoxだと行単位で1つのテキストとしてみなしてくれるのだが、これはどちらがいいとは言えないので、仕方ないところか。仕方ないので、表の一つ一つの要素単位で検証するようにテストケースのコマンドを分割して両ブラウザでOKとなった。 しかし、なぜか下記のようなxpath表記はIEだとfalseになってしまう場合があり、今のところ理由は不明。HTMLのできが悪いのかも知れませんが。 <tr> <td>verifyElementPresent</td> <td>//h1/IMG[@src=’images/image3.gif’]</td> <td></td> </tr> それと、これは今のところ制限らしいが、target=_blankでオープンされたウィンドウはSelectWindowできない。テストドリブン開発では、テストを先に書いてから開発にかかるので、こういう制限は問題にならないのはわかるが、既に開発されたサイトに対して適用するテストを書こうとするとこの辺は結構引っかかってしまう感じがする。 それにしても、まだまだバージョン0.8台ですから将来が期待できそうなツールです。今のままでも、ちょっとしたテストならこれで十分いけそうな感じがします。 とりあえず3日程度はまって使ってみた感想でした。

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

InfoWorld Folds Print After 29 Years

InfoWorldもとうとう紙媒体から撤退でオンライン版にフォーカスするんだそうです。記事はこちら。 やっぱりニュースやトレンドが中心の雑誌は、ほとんどなくなってオンライン版になっていくのは時代の流れでしょう。 基本的に無料で入手できる情報で事足りてしまうので、わざわざお金を払って雑誌を講読する人はどんどん減少しているわけです。となるとどれだけ早くオンライン版で購読者をつかまえられるかという勝負にだいぶ前から勝負のポイントが変わっているわけで、それが理解できない出版社は淘汰されていくのでしょう。 これは新聞社にも同様のことが言えると思います。古い情報の蓄積をどう見せるかというあたりが差別化要因になっていくのだろうけど、単なる検索機能ならGoogle等で用は足りてしまうので、それだけではない何かが必要になるのではないかと思うこの頃である。

Posted in インターネット, ビジネス | Tagged , , | Leave a comment

Marriott Hotel and Internet and Boingo

I’ve stayed at Marriott Hotel in San Ramon last week. Marriott is my favorite hotel and this was very comfortable bedding as others and this particular one is in the best location for me. It is adjacent to the small … Continue reading

Posted in インターネット, ビジネス, 日記 | Tagged , , , | Leave a comment