2013年4月25日木曜日

Seleniumをソースからビルドする


Seleniumを使用して、Webアプリを自動操作するC#コードを書くお仕事をしておりますが、
公式からダウンロードできるIEDriverServerがちょくちょく落ちてしまい、イライラしていたところ、

『ダウンロードバイナリがダメなら、ソースからビルドすればいいじゃない』

と思いたち、やってみました。


○Seleniumのソースをゲットする

まずは、Seleniumのソース一式を

http://selenium.googlecode.com/svn/trunk

からSVN使ってダウンロードしてきます。


○JDKをゲットする

不覚にも作業用のPCにJDKが入っていなかったため、ダウンロードしてきます。
自分の場合は、何も考えずに JDK 7u9のx64をダウンロード&インストール&PATH設定。
とりあえずは、javaコマンドとjarコマンドが使えればOKのようです。


○README.mdを流し読みする。

英語への苦手意識を取っ払って読んでみましょう。

とりあえず、

  1. go.bat がビルドをおこなうスクリプト
  2. go -T で、タスクの一覧が出てくる
ってことだけわかれば、あとは何とかなります。


○ビルドする

タスクの一覧を眺めてみて、

go //dotnet:dotnet

とコマンドを発行すると、.net framework 4.0用のDLLが作成されるようです。
早速実行します。

D:\src\selenium>go dotnet
(in D:/src/selenium)
Compiling: //dotnet:dotnet as build\dotnet\unmerged\net40\WebDriver.dll
Merging: //dotnet:dotnet as build\dotnet\net40\WebDriver.dll
Compiling: //dotnet:support as build\dotnet\net40\WebDriver.Support.dll
Compiling: //dotnet:core as build\dotnet\net40\ThoughtWorks.Selenium.Core.dll
Compiling: //dotnet:webdriverbackedselenium as build\dotnet\net40\Selenium.WebDriverBackedSelenium.dll

D:\src\selenium>

とりあえず、DLLの方はできたようです。

ちなみに、.net framework 3.5用を作成したい場合は、

go //dotnet:dotnet35

と発行すれば良いっぽいです。(やってませんが・・・。)



合わせてIEDriverServer.exeを作成します。

作成には、下記のコマンドでいけるっぽいです。

go build/cpp/x64/Release/IEDriverServer.exe

今回は64bitで作成しますが、32bitが欲しい場合は、

go build/cpp/Win32/Release/IEDriverServer.exe

で生成されます。

早速実行!

D:\src\selenium>go build/cpp/x64/Release/IEDriverServer.exe
in D:/src/selenium)
Falling back to cpp/prebuilt/x64/Release/IEDriverServer.exe

D:\src\selenium>

あとは、生成したファイルをプロジェクトに組み込んで実行してみましょう。

そのへんのレポートはまた追々。

0 件のコメント:

コメントを投稿