2013-03-13 67 views
1

我想通過使用rspec在Rails 4,ruby 2.0.0環境上運行Selenium(通過Capybara)。我已經嘗試使用每個瀏覽器通過設置我的spec_helper.rb配置設置。 Safari的示例;使用Safari,Chrome或Firefox在Rails 4上運行Selenium的錯誤

Capybara.register_driver :selenium do |app| 
    Capybara::Selenium::Driver.new(app, :browser => :safari) 
end 

對於所有瀏覽器,我已經確定了合適的驅動程序(例如safaridriver)是$PATH。 測試示例(顯然沒有Javascript/AJAX在這裏,只是試圖讓它工作);

it 'should post to the publication endpoint', :vcr do 
    Capybara.current_driver = :selenium 
    visit root_path 
    Capybara.use_default_driver 
end 

on visit root_path,我得到以下錯誤;

Selenium::WebDriver::Error::TimeOutError: 
     timed out waiting for Safari to respond 

環境

rails (4.0.0.beta1) 
ruby 2.0.0p0 
webmock (1.9.3) 
capybara (2.0.2) 
selenium-webdriver (2.31.0) 

我一直試圖讓這兩天現在那麼任何和所有幫助非常感謝工作!

回答

1

SafariDriver作爲Safari瀏覽器擴展實現。這意味着您需要在使用Safari和Selenium之前安裝它。請遵循以下步驟:https://code.google.com/p/selenium/wiki/SafariDriverInternals

註冊Apple的(免費)Safari開發者計劃併爲擴展名生成簽名證書。

構建SafariDriver擴展:
./go野生動物園

安裝擴展:

啓動Safari瀏覽器
啓用開發菜單(首選項>高級>顯示在菜單開發菜單欄)
打開擴展生成器(Develop> Show Extension Builder)
添加一個新的擴展:$ SELENIUM_CLIENT /編譯/ JavaScript的/ Safari瀏覽器驅動器/ SafariDriver.safariextension
單擊安裝

相關問題