不能让capybara-webkit工作

时间:2011-09-14 10:42:16

标签: ruby ruby-on-rails-3 webkit rspec2 capybara

我正在使用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进行自动测试。

3 个答案:

答案 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修复了问题。可能不会对你的情况有所帮助,但值得一试。