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上でテストが実行されます。
簡単簡単。