无法让 capybara-webkit 工作

发布于 2024-12-04 12:33:27 字数 852 浏览 1 评论 0原文

我正在使用 capybara 在我的 Rails 3 应用程序上进行集成测试。

当我添加 :js =>对于我的测试使用 selenium 的情况来说是这样,但是当我更改为使用 js 的 webkit 驱动程序时,我会收到如下错误:

Capybara::Driver::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 进行自动测试。

I am using capybara to do integration testing on my rails 3 app.

When i add :js => true to a scenario my tests work with selenium but when i change to use the webkit driver for js i get errors for each like this :

Capybara::Driver::Webkit::WebkitInvalidResponseError:
Unable to load URL: http://www.example.dev:7171/user_sessions

My add is a multi domain app so in my spec_helper i set port :
Capybara.server_port = 7171

And in a background block i set the app_host like this :
Capybara.app_host = "http://#{subdomain}.example.dev:7171"

If i then add this to my spec_helper rspec.configure block i then get the errors above :

config.before(:each) do
   DatabaseCleaner.start
   Capybara.run_server = false
   Capybara.javascript_driver = :webkit
   Capybara.default_selector = :css
   Capybara.server_port = 7171 
end

Can anyone help with this? I am also using spork for auto testing.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

束缚m 2024-12-11 12:33:27

有一个未解决的问题,在 github 上看起来与此完全一样 => https://github.com/thoughtbot/capybara-webkit/issues/87

他们在那里提供了一些解决方法建议,看看这是否对您有帮助。祝你好运!

There is an open issue for an issue that seems exactly like this on github => https://github.com/thoughtbot/capybara-webkit/issues/87

They have some workaround suggestions in there, see if that doesn't help you out. Good luck!

暮倦 2024-12-11 12:33:27

您的应用程序是否重定向到安全 (https://) url?

如果是这样,您需要重新声明 Capybara 的 :webkit 驱动程序,并将 :ignore_ssl_errors 选项设置为 true

Capybara.register_driver :webkit do |app|
  Capybara::Driver::Webkit.new(app, :ignore_ssl_errors => true)
end

Is your application redirecting to a secure (https://) url?

If so you'll need to redeclare the :webkit driver for Capybara with the :ignore_ssl_errors option set to true:

Capybara.register_driver :webkit do |app|
  Capybara::Driver::Webkit.new(app, :ignore_ssl_errors => true)
end
柒夜笙歌凉 2024-12-11 12:33:27

只是想说我们的 Ubuntu CI 服务器上也遇到了同样的错误。这是一个 LTS 版本,因此运行的是较旧的 libqt (v4.6.2) - 升级(使用 tarball)到 4.7.4 解决了问题。可能对你的情况没有帮助,但值得检查一下。

Just wanted to say that we just had the same error on our Ubuntu CI server. It's an LTS build and so was running an older libqt (v4.6.2) - upgrading (using the tarball) to 4.7.4 fixed the problem. Probably won't help your situation, but something worth checking.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文