SeleniumWebDriverのテストをPhantomJSで実行する

Selenium WebDriverをPhantomJSで実行する

RubyじゃないWebアプリも結合テストRSpecで書いてます。WatirWebDriverとかCapybara使ってテスト書くと可読性高くていいですよね。仕事ではWatirWebDriverを使って書いたテストを、JenkinsサーバのPhantomJS上で動かすみたいな感じでやってます。

エンジニアじゃない人でSeleniumIDEで受け入れテストしている人がいたので、せっかくだからそういったテストもJenkinsで実行したいなぁと思い、PhantomJS上で実行できないか調べて見ました。

調べてて、というか試しにやってみて初めて知ったのですが、selenium-webdriverのテストでも(watir-webdriverとか使わなくても)PhantomJS上で実行できるんですね。知らなかった・・・。

やり方は簡単。SeleniumIDEで「テストケースをエクスポート」→「Ruby/Rspec/WebDriver」でテストケースをRubyファイルとしてエクスポートして、以下のように:firefoxとなっている箇所を、:phantomjsに変更するだけでした。

#@driver = Selenium::WebDriver.for :firefox
@driver = Selenium::WebDriver.for :phantomjs

PhantomJSがインストールされていれば、PhantomJS上でテストが実行されます。
簡単簡単。