Monthly Archives: May 2007

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

ハーブの苗仕入れ&ポッティングガーデン

メモリアルデーの週末は、この前購入した木製プランターに植えるため、先週末、セバストポルのファーマーズマーケットに苗を物色しに行ったのですが、色とりどりのハーブや野菜の苗が並んでいるのを見て、ついつい必要以上の苗を買ってしまいました。買った苗はこちら。 さらに去年も購入したラベンダー農家が来ていて、それを見ていたら、やっぱりまた欲しくなって、ラベンダーも仕入れてしまいました。こんなふうに並べられていました。 特に、淡いピンク色の花をつけるという種類を今回は見て、それは買わないで帰るわけにはいかないと買ってしまったのでした。買った苗はこちら。 この前の木製プランター2つでは足りなくなってプランターも買い足さなくてはを思って、ラベンダー屋の横を見るとなんとプランター屋がいました。ちょっと造りは荒い感じでステイン処理もしていないんだけど質は悪くなさそうな割と底が深めのものがひとつ$8とあったので、これは買いと判断し、ゲット。 でもって鉢植え用の土を近くのナーサリーに寄って購入し、帰宅して一息ついてから鉢植え作業開始。こつこつと作業すること約3時間ぐらいでスプリンクラーの設定まで含めて完了しました。 この前の木製プランターはこんな感じになりました。 全体の感じは今回のステイン処理していないプランターも含めて大体こんな感じになりました。 それから、これ、全部土も含めて100%オーガニックです。これでだいぶハーブガーデンの雰囲気が出てきたかな?という感じで、ご満悦の一日でした。

Posted in ガーデニング, サンタローザ, 日記 | Tagged , , , , , | Leave a 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

アメリカ国旗の捨て方

今日はアメリカはメモリアルデー。これにちなんでアメリカについての話を一つ。 先日私の住んでいるコミュニティで普段は廃棄できないガレキ類を取りまとめて捨ててくれるという企画があって、私もポールの部分が壊れてしまい、国旗自体も色あせてさえなくなってしまったアメリカ国旗を他のモノと一緒に捨てに行ったのでした。巨大な箱が公園の横に設置されており、そこにさまざまな粗大ごみやガーデニングの廃棄物など、まさにガレキの山になっているところに、それを放り込んで帰ろうとしたとき、その巨大な箱の横に止まっていたトラックの怪しそうな男が声をかけてくるのでした。私は「何?」と言って変なやつだなと思いながら近寄って行くと、「今、アメリカ国旗を捨てなかったか?」と怒った調子で話しかけてくるのです。「あぁそうだけど...」と私が答えると「何で捨てるんだ」と因縁めいた口調でからんでくるのです。「何でって使えなくなったから捨てたんだ」というと「それは気軽に捨てるもんじゃねぇ。お前はアメリカを愛していないからそんなことをするんだ」とまた突っかかってくるのです。「古くなった国旗を捨てるのと愛国心は関係ないだろ。何でそんなことにこだわるんだ?」とこっちも苛立ちながら言うと「おれはマリーン(海兵隊員)だからだ」とくるじゃないですか。 それから少しもめた後、挙句の果てに「ポールがだめになっただけなら旗は使えるだろう」といって、その巨大な箱によじ登って旗を拾い、私に突っ返してくるので、「ポールはいらないんだ」というとご丁寧に旗とポールを切り離して旗だけを私にくれるのです。「こんなところで、いちいち人が何を捨てるかチェックしているのか?」と言うと、「ただここでビールを飲んでいるだけだ」と来たので、「それこそ、ここは公園で公共の場所だから、ここでビールを飲むのは違法行為だぞ」とこっちもやり返すと「おれは自分のトラックの中で飲んでいるだけだから違法じゃない。警察を呼んでもいいよ。」と開き直る始末。後でよく考えると(考えないとわからないということは私も冷静ではなかったということですね)これって飲酒運転じゃないですか。「で、使えない国旗はどうしろと言うんだ?」と言うと「俺はマリーンの制服を11年も洗いながら着ているんだ。洗って使えばいいじゃないか。」とまったく話にならないのです。 とにかく、心中、「面倒なやつだな」と思いつつも、これ以上、事を荒立てるのも何だし、確かにこちらもアメリカ国旗のことを気軽に考えすぎたかもという気持ちもあったので、仕方なく国旗の部分だけを持って家に帰ったのでした。で、別に他人に迷惑をかけているわけでもないのに、人のやることにこういうふうに無理強いする形で干渉してくるのはけしからんと思いつつも、確かにアメリカ国旗はアメリカの象徴だし、アメリカ国民、特に愛国的な人々は使えなくなった国旗の処分はどうしているのだろうという疑問にたどり着いたのでした。単純に捨てれないなら国旗が家の中に溜まっていってしまうし、何か特別な作法でもあるのかなと思ったりしたわけです。 で、調べてみると、ありましたありました。正しい国旗の捨て方。 使えなくなったアメリカ国旗を捨てたい場合はどうすべきか 本来は、市や郡等、最寄の自治体単位で国旗の廃棄受付窓口があるべきというのが公式的見解のようですが、現実はそこまで整備している自治体はさすがにアメリカと言えどもほとんどないようで、「尊厳をもって燃やして廃棄する」というのが、愛国者的に受け入れられる方法のようです。で、メモリアルデーには、そういう旗を焼却するセレモニーを取り持つボーイスカウトや消防士の人達がいるようです。アメリカ市民としては常識なのかも知れませんが、また一ついい勉強になったのでした。

Posted in 日記 | Tagged , | Leave a comment

Salmon Pink Lily

周回遅れのアップです。私達夫婦は日曜日に隣町セバストポルのファーマーズマーケットによく行くのですが、この時期はまだ野菜の本格的な収穫時期ではないので、作物自体よりも野菜の苗や花の苗等が比較的中心となっている時期で、私達も去年3種類程の花をそこに来ているナーサリーの人から仕入れたのですが、うちの庭とも相性よく、冬にはまったく枯れたようになっていた所から、今はきちんと芽を出して順調に生育しているので、今年ももう一つぐらい追加しようと次のような花達を眺めてどれにしようか悩んでいたのでした。 あれこれと悩んだあげく結局うちの奥さんが最終的に選んだのはサーモンピンクのリリーでした。後1ヶ月ぐらいしか花はもたないそうですが、花の色があまりに見事だったので(黄色っぽく見えるかも知れませんが、実際はサーモンピンクです)、これにしました。鉢植えでも2~3年は大丈夫で、順調に株が増えたら株分けしてあげればいいとのことで、そういうふうに順調に生育して欲しいです。

Posted in ガーデニング, サンタローザ | Tagged , | Leave a comment

SeleniumでXPath Locatorを使うとIEと相性悪そう

Selenium IDEとXPatherを使っているとついつい手軽にXPathが記述できるので、それを多用してテストを作成していたのですが、FireFoxで実行しているとサクサク動作してくれて、これはいいという感じなのが、IEで実行するとXPath Locatorが使われているところでやたらと遅くなります。CPU使用率もほとんど100%の状態になるし、ちゃんと確認していませんがどうもメモリーリークも発生しているようです。ひとつのブラウザセッションで連続してそういうコマンドを実行しているとどこかでおかしくなって、コマンドタイムアウト例外を投げて結果ファイルも残さずに異常終了してしまいます。 仕方がないので、いくつかにテストを分割してRCをテスト毎に起動することで回避しました。これってDOMに変更するしかないんですかね?

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 RCでTestRunnerのデフォルトの速度を設定する

Selenium RCを使ってテストを自動実行させるときに、ブラウザが自動的に起動してTestRunnerが実行されるのですが、この時、コントロールパネルにある速度調整のスライダーは、一番左にあって最速の設定になってしまいます。 これはバグだと思うのですが、Selenium IDEやCoreで実行するとすべて正常終了するのに、RCで実行するとwaitFor*コマンド等であるエレメントが認識されるまで待機するようにしてあげても、そのエレメントにアクセスした時点でそのエレメントが存在しないというようなエラーが発生する場合があります。この場合、TestRunnerの速度スライダーを手動で少し遅くしてあげれば、大抵の場合は、うまく通るようになるようです。それでも通らない場合は、本当にAjax等で何かを待たないといけない場合なので、waitFor*を入れてあげる必要があります。 で、毎回このスライダーを動かす手動操作が入るのは面倒なので、その速度を指定してやりたいのですが、どうも現時点では、RCのコマンドラインパラメータでは指定できないようです。リファレンスには、setSpeedというコマンドが使えるように書いてあるのですが、これを指定するとIDEでもRCでもエラーになってそこで止まってしまいます。さて、どうしようと思い、現時点では直接ソースをいじるしかないと思い、それでやっつけてしまったので、とりあえずメモしておきます。尚、これはSeleneseではなく、JavaやPerl等のプログラミング言語インターフェイスを介せば簡単にsetSpeed相当のコールが使えるはずです。 以下、手順です(jarコマンドを使うのでJDKが必要): 1. まず、selenium-server.jarファイルからcore/scripts/selenium-testrunner.jsというファイルを取り出します。 jar -xvf selenium-server.jar /core/scripts/selenium-testrunner.js 2. runIntervalという変数に値を代入している箇所を見つけます。このメモを書いている時点では、次の2箇所です。 2-1. 変更前: var runInterval = 0; 変更後: var runInterval = 100; 2-2. 変更前: this.runInterval = 0; 変更後: this.runInterval = 100; この修正だけでも一応速度は落ちますが、スライダーの表示が左端にあるままなので、ちょっと気持ち悪いので、下記の場所を修正します(他にもオプションがあります。使用しているのはこちら)。 変更前: objectExtend(HtmlTestRunnerControlPanel.prototype, { initialize: function() … Continue reading

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

Skybusという$10で乗れる航空会社登場

片道$10からという、かなりセンセーショナルな見出しでSkybusという航空会社が登場しました。 Skybus 機内食は原則としてすべて有料でメニューから客が必要に応じて選択するとか、予約はネットからのみで代理店やフリーダイヤルなどの電話応対もなしとか、飛行機が新型で燃費がいいとかで経費を最大限削って低価格を実現しているそうです。ただし、オハイオ州ベースの会社で現時点では、すべての便はコロンバスが始点か終点の便となる制限付き。でも、片道$10ならコロンバス経由でも2つの便を乗り継げば(ただし、Skybusは荷物の自動転送はしてくれない。客が自分で再度チェックインする必要あり)、$20で例えば西海岸から東海岸へ飛べるわけで、節約優先とすれば、多少の(かなりの?)手間は惜しんでもという客層はいるだろうと思い、ビジネス的に成り立つ可能性もなくはないのかなと、かなり興味が湧いてしまいWebサイトを一生懸命読むはめになったわけです。 それでも片道$10は無理なんじゃないの、どういうビジネスモデルなんだろうと思って、予約状況を見てみるとSan Francisco (ただしOakland空港) からの便の値段を見ると一番安い日でも$75ぐらい、大体は$150になっていて、なんだ全然$10じゃないじゃん。これはまた新手の詐欺かと思って、よく読んでみたら、各フライトで10席だけは$10で乗れるということらしい。まあ、確かにこれはすごい宣伝効果はありますね。それに$150というのはまあ普通だけど、$75はかなり安い方でしょう。先ほどの2便つなげる方法でも片道$150でBostonまでいけるのであれば、悪くはないかも。これは、どこまで客足を確保できるかしばらくウォッチですね。

Posted in ビジネス | Tagged , | 1 Comment

木製プランター入手

先週、Tuesday Morningでなかなか味のある木製プランターが一つ$10で売っていたのでゲット。最後のひとつずつのようなのでかなり安くなっていて掘出し物と思います。これに後ほどハーブを植える予定。

Posted in ガーデニング, 日記 | Tagged , | Leave a comment