2011-05-03 140 views
3

我使用的是牛排+水豚進行驗收測試和機架SSL的SSL強制執行,現在,當我試圖運行測試套件,我已經得到了錯誤信息水豚+牛排+ SSL

(錯誤代碼:ssl_error_rx_record_too_long)

任何想法如何使它工作?

+0

你能解決這個問題嗎? – deb 2011-08-19 02:21:53

回答

1

Capybara推出簡單的應用程序服務器(Mongrel/Webrick),它不支持SSL。要在本地機器上獲得SSL環境,您必須使用mod_ssl和mod_proxy設置類似nginx或Apache的接口,以接受SSL連接並將代理純HTTP請求代理到您的devel服務器。

然後,您可以在測試環境設置中啓動它,並在測試中導航到此SSL服務器而不是應用程序服務器本身。

注意事項:

要設置「SSL服務器」你必須創建一個自簽名的SSL證書。瀏覽器默認情況下不會信任它,除非將其添加到例外列表中。 AFAIR Capybara selenium驅動程序每次創建一個新的Firefox配置文件,因此它會拒絕您的SSL證書。您可能需要購買「真實」證書。

Capybara在隨機可用的端口上啓動其內部服務器,您將需要更改它。我記得寫了一些東西:

Capybara::Server.class_eval do 
    def find_available_port 
    @port = 3000 
    end 
end