【发布时间】:2013-07-15 07:26:12
【问题描述】:
我正在使用 RSpec、Capybara 和 Selenium 来测试我的本地 Rails 应用程序。 Capybara 本身运行良好。我的问题是我在大部分应用程序中都使用了强制 SSL 连接。
我现在的解决方法是像这样配置 Capybara 进行 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
仅当我使用有效的本地 SSL 证书在端口 3001 上独立启动服务器时才有效。实际上,这很烦人,通常只是我不喜欢的手动依赖。
有没有人知道一个更干净的解决方法?要么:
1) 如何配置Capybara的内部服务器来查找和使用我的本地SSL证书?,或者
2) 如何为 javascript 测试禁用强制 SSL,或者
3) 如何在任何 javascript 测试之前自动启动本地服务器?
任何帮助将不胜感激。
【问题讨论】:
标签: ruby-on-rails selenium capybara