我正在使用capybara在我的rails 3 app上进行集成测试。
当我添加:js =>对于我的测试使用selenium的情况,但是当我更改为使用js的webkit驱动程序时,我会得到每个错误:
水豚::驱动::的Webkit :: WebkitInvalidResponseError: 无法加载网址:http://www.example.dev:7171/user_sessions
我的添加是一个多域应用,所以在我的spec_helper中设置端口: Capybara.server_port = 7171
在后台程序块中,我将app_host设置为: Capybara.app_host =“http://# {subdomain} .example.dev:7171”
如果我然后将其添加到我的spec_helper rspec.configure块我然后得到上面的错误:
config.before(:each) do
DatabaseCleaner.start
Capybara.run_server = false
Capybara.javascript_driver = :webkit
Capybara.default_selector = :css
Capybara.server_port = 7171
end
任何人都可以帮忙吗?我也使用spork进行自动测试。
答案 0 :(得分:1)
在github =>上有一个问题就像是这样的问题就是一个未解决的问题https://github.com/thoughtbot/capybara-webkit/issues/87
他们在那里有一些解决方法建议,看看这是否对你没有帮助。祝你好运!
答案 1 :(得分:1)
您的应用是否重定向到安全(https://)网址?
如果是这样,您需要重新声明:Capybara的:webkit驱动程序,并将:ignore_ssl_errors
选项设置为true
:
Capybara.register_driver :webkit do |app|
Capybara::Driver::Webkit.new(app, :ignore_ssl_errors => true)
end
答案 2 :(得分:0)
只是想说我们在Ubuntu CI服务器上遇到了同样的错误。这是一个LTS构建,因此运行较旧的libqt(v4.6.2) - 升级(使用tarball)到4.7.4修复了问题。可能不会对你的情况有所帮助,但值得一试。