我正在使用RSpec,Capybara和Selenium来测试我的本地Rails应用程序。水豚本身工作正常。我的问题是我在我的大多数应用程序中使用强制SSL连接。如何在本地环境中使用SSL与Capybara/Selenium搭配使用
那种解决方法我现在是配置水豚像这样的JavaScript测试:
Capybara.register_driver :selenium_profile do |app|
profile = Selenium::WebDriver::Firefox::Profile.new
profile.secure_ssl = false
profile.assume_untrusted_certificate_issuer = true
Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => profile)
end
Capybara.javascript_driver = :selenium_profile
Capybara.run_server = false
Capybara.server_port = 3001
Capybara.app_host = "https://localhost:%d" % Capybara.server_port
,只有当我独立启动的服务器在3001端口上具有有效的本地SSL证书工作。在实践中,这是令人讨厌的,通常只是我不喜欢的手动依赖。
有没有人知道这个更清洁的解决方法?或者:
1)如何配置水豚的内部服务器查找和使用我的本地SSL证书?或者
2)如何禁用强制SSL为JavaScript测试,或者
3)如何自动在任何javascript测试之前启动本地服务器运行?
任何帮助将不胜感激。
我已经试过了,但所有它导致的错误'RuntimeError:Rack应用boot'按我的帖子,我已经成功地找到解决的唯一途径期间超时开始独立服务器外部,但我不知道为什么。有什么想法吗? – Bryce
好吧,我终于开始工作了,但是我重写了Capybara的'respon'函数来处理SSL。感谢您指点我正确的方向! – Bryce