メモログ

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 で動作します。

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 だし)。

私について

Yutaka Yamaguchi
東京在住。TypeScript, Node.js, Reactなどフロンエンドが主力。Perlも書く。SwiftやRubyも過去には使ってた。過去のTOEIC 860くらい。