• このエントリーをはてなブックマークに追加

Selenium RCの起動をWindowsのバッチファイルにして、Jenkinsから起動したら、
Firefoxを立ち上げたところで処理が止まってしまう。

05:55:02.690 INFO – Preparing Firefox profile…
05:55:04.964 INFO – Launching Firefox…
05:55:06.985 INFO – Checking Resource aliases

Jenkinsを介さずに、Windowsのコマンドプロンプトからならば、
処理が停滞しないので、さらにわけが分からない。

どうやら、Jenkinsからではインターネットにアクセスできないようだ。
処理が停滞するのは、URLのopenがタイムアイトしているから。

JenkinsはWindowsのサービスとして起動している。
そして、Windowsのサービスからインターネットにアクセスしようとして、
ファイアウォールに引っかかっているようだ(という推測)。

[コントロールパネル]>[管理ツール]>[サービス]
からJenkinsのプロパティを開いて、
[ログオン]タブの『デスクトップとの対話をサービスに許可』
を選択すると、サービスが起動している画面に移動でき、
停滞している画面を見ることができる。

image

image

メッセージの表示を選択すれば、Firefoxが停滞している様子が見える。

この課題を解決するには、ネットワーク設定をいじる必要がありそうだけれど、
よくわからなかった。

Slaveノードを作成して、Windowsサービスとして登録せずに起動する

自分がたどりついた方法は、Slaveノードを作成して、
そいつはWindowsサービスとしては登録しないまま、ネットにアクセスさせる方法。

まずは、
[Jenkinsの管理] > [ノードの管理]> [新規ノードの作成]からノード作成。
このとき、
詳しくは参考ページを参照。

Jenkinsスレーブの作成と設定 -ムーチョのメモ帳
https://wiki.jenkins-ci.org/display/JA/Step+by+step+guide+to+set+up+master+and+slave+machines

作成したノードをブラウザ上から立ちあげると、こんな窓が出てくる。

image

この状態で、Seleniumパッチを実行すると、問題なくネットへアクセスできた。

 

JenkinsをWindowsサービスとして立ちあげない

昨日のエントリの続き。
寝て起きたら、もっとカンタンな(当たり前な?)方法を思いついた。

JenkinsがWindowsのスタートアップでサービスとして起動することが問題なので、
サービスを無効にしてしまえばよい。

[コントロールパネル]>[管理ツール]>[サービス]
からJenkinsのプロパティを開いて、サービスを停止する。

停止したら、コマンドラインから、Jenkinsを手動で立ち上げなおす。

cd ”C:\xxxxxx\Jenkins”

java -jar jankins.war

すると、しばらくしてJenkinsがWindowsのサービスとしてではなく
立ちあがるので、この状態ならばネットにつなげた。