メモログ

塵が積もって山とならないメモのログ

watir-webdriver: バックグラウンドで実行する

Watir-WebDriver: A detailed introduction | WatirMelon」の「The remote WebDriver Server」と「Hello Watir-WebDriver in Headless (HTML Unit)」あたりの話。Seleniumのサーバーを使うことで、ブラウザを立ち上げずにバックグラウンドでwebdriverを実行することができます。

使用方法は(上のブログとほぼ同じですが…)下記のような感じ。てきとうに改行入れています。selenium-serverはDownloads - selenium - Project Hosting on Google Codeのページからダウンロードできます。サーバーはJavaで動作します。

1
2
3
4
5
6
7
8
9
10
11
require 'selenium/server'
Selenium_Server = File.expand_path('selenium-server-standalone-2.0b1.jar')
@server = Selenium::Server.new(Selenium_Server, :background => true)
@server.start
capabilities = Selenium::WebDriver::Remote::Capabilities
.htmlunit(:javascript_enabled => true)
@b = Watir::Browser.new(:remote, :url => "http://127.0.0.1:4444/wd/hub",
:desired_capabilities => capabilities)
## いろいろな動作
@server.stop # 最後にサーバーを止める

ブラウザを立ち上げずに実行できるので、Hudson(Jenkins)などを使ってインテグレーションテストをするようなときに便利、という話。通常のブラウザと比較するとまだ動作が不安定のように見えますけど(betaだし)。