LinuxサーバーでSelenium2のchrome webdriverを使用して自動テストを実行したいと思います。
Xvfb( http://www.semicomplete.com/blog/geekery/xvfb-firefox.html を参照)を使用して、サーバー上で実行するように既にFirefoxをセットアップしました。クロムと同様。これは可能ですか?
FirefoxBinaryでできるように、ChromeDriverでプログラムでこれを行う方法を見つけることができませんでした。
これを可能にするパッチを添付した改善リクエストを提出しました。ここで見ることができます: http://code.google.com/p/Selenium/issues/detail?id=267
編集:これを使用する方法について、Stephenからの以下の応答を見ることができます。変更がマージされました。 https://stackoverflow.com/a/16619608/998442
私は、Selenium + chromedriverでLinuxボックスを設定するという同じ課題に直面していました。
前提条件:
JREをインストールしてSelenium jarを実行します
Seleniumサーバーをインストールする
https://code.google.com/p/Selenium/downloads/list )からjarファイルを取得します
Xvfbをインストールします(すでにこの部分を達成しているようです)
Linuxディストリビューションにgoogle-chromeをインストールします
chromeドライバーをダウンロードしてくださいここから入手できます: https://sites.google.com/a/chromium.org/chromedriver/downloads
必要になる可能性がある他のSelenium依存関係をインストールします(ただし、上記はchromedriverを機能させるための最小要件です)
走る:
Xvfb :1 -screen 5 1024x768x8 &
export DISPLAY=:1.5
Java -jar Selenium-server-standalone-2.30.0.jar -Dwebdriver.chrome.bin=/path/to/google-chrome -Dwebdriver.chrome.driver=/path/to/chromedriver
2013年3月19日10:07:27 org.openqa.grid.Selenium.GridLauncher main情報:スタンドアロンサーバーの起動
システムプロパティwebdriver.chrome.binを{location of google-chrome}に設定
システムプロパティwebdriver.chrome.driverを{location of chromedriver}に設定
10:07:34.258情報-RemoteWebDriverインスタンスは次に接続する必要があります:
http://127.0.0.1:4444/wd/hub
10:07:34.259情報-バージョンJetty/5.1.x 10:07:34.259情報-HttpContext [/ Selenium-server/driver、/ Selenium-server/driver]を開始しました...
参照: http://www.yann.com/en/use-xvfb-Selenium-and-chrome-to-drive-a-web-browser-in-php-23/08/2012.html
乾杯!
SetEnvironmentPropertyからChromeDriverへのプログラムによる によると、次のことができます。
service = new ChromeDriverService.Builder()
.usingChromeDriverExecutable(new File("/path/to/chromedriver"))
.usingAnyFreePort()
.withEnvironment(ImmutableMap.of("DISPLAY",":20"))
.build();