2012年5月31日木曜日

seleniumの2.22(その4 DriverService)

差分が発生しているjavaファイルを開き、著作権表記のみが
変わっていることを確認する簡単なお仕事です。

さてさて、Chromeだけではなく、本バージョンから新たにIEにも
DriverServerが出現した。

Chromeの時は特に動作速度に問題がなかったためスルーした
(というよりも勝手にChromeDriverがDriverServerを使用する)が、
IEは遅いため、使用してもいいかもしれない、というより、
使用しないとエラーになる。

以下やり方

System.setProperty( InternetExplorer DriverService.IE_DRIVER_EXE_PROPERTY,
                            "c:\\IEDriverServer.exe");

WebDriver driver = new InternetExplorerDriver()

こんな感じ、これでIEの起動が完了する。
IEDriverServer.exe自体はseleniumと同じ場所からダウンロードできる。
32bit版と64bit版のDriverが存在するので、ロジック内で
System.getProperty("os.arch")
を実行し、戻り値によって、セットするDriverを変更させればいい感じだと思う。


今までどおり、DriverServer無しで起動したい場合は


DesiredCapabilities capability = DesiredCapabilities.internetExplorer();
capability.setCapability("useLegacyInternalServer",true);
WebDriver driver = new InternetExplorerDriver(capability);

でOK。
ただし、イベント発生概念の関係からオススメはしない。


実行速度って重要ですから、終いにはFireFoxDriverServerとか出るかもしれない。
DriverServer怖い。

0 件のコメント:

コメントを投稿