Selenium IDEで生成したテストケースでファイルをダウンロードする

Selenium IDERuby / RSpec / Webdriverのテストケースを生成し、rspecコマンドで実行しても、
ダウンロードダイアログが表示された状態でFireFoxが終了してしまい
ファイルがダウンロードされない。

ダウンロードダイアログが表示されないように、
セットアップ時にFireFoxのプロファイルを設定しておく。


※以下の記事を参考にさせていただきました。
Selenium 2.x Web Driverでファイルをダウンロードをする
プロフェッショナルプログラマー:Selenium with JUnit(その5 Download File)


テストケースのsetup内に以下のようにprofileの設定処理を追加。
(mimeタイプはダウンロードしたいファイルの種類に応じて適宜追加する)

selenium_download.rb

class Selenium3 < Test::Unit::TestCase

  def setup
    @ff_profile = Selenium::WebDriver::Firefox::Profile.new
    # ダウンロードするファイルの保存先フォルダが指定してあればそれを使う
    @ff_profile['browser.download.useDownloadDir'] = true
    # ダウンロードするファイルの保存先フォルダを指定
    # 0:デスクトップ
    #  1:ダウンロードフォルダ
    #  2:ダウンロードに指定された最後のフォルダ
    @ff_profile['browser.download.folderList'] = 2
    # ダウンロードダイアログを見せないようにする
    @ff_profile['browser.download.manager.showWhenStarting'] = false
    # ダウンロードフォルダ
    @ff_profile['browser.download.dir'] = '/home/footprint/'
    # 指定したmimeタイプは有無を言わさずダウンロードする
    @ff_profile['browser.helperApps.neverAsk.saveToDisk'] = 'text/plain, application/vnd.ms-excel, text/csv, application/zip, text/comma-separated-values, application/octet-stream'

    @driver = Selenium::WebDriver.for :firefox, :profile => @ff_profile
    @base_url = "http://d.hatena.ne.jp"
    @accept_next_alert = true
    @driver.manage.timeouts.implicit_wait = 30
    @verification_errors = []
  end

rspecコマンドで実行

$ rspec selenium_download.rb