не могу заставить капибара-вебкит работать - PullRequest
15 голосов
/ 14 сентября 2011

Я использую капибару для тестирования интеграции в моем приложении rails 3.

Когда я добавляю: js => true к сценарию, мои тесты работают с селеном, но когда я переключаюсь на использование драйвера webkit для js, я получаю ошибки для каждого из них, например:

Capybara ::Driver :: Webkit :: WebkitInvalidResponseError: Невозможно загрузить URL: 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 ]

1 голос
/ 12 декабря 2011

Ваше приложение перенаправляет на безопасный (https://) URL?

Если это так, вам необходимо переопределить драйвер: webkit для Capybara с параметром :ignore_ssl_errors, установленным на true:

Capybara.register_driver :webkit do |app|
  Capybara::Driver::Webkit.new(app, :ignore_ssl_errors => true)
end
1 голос
/ 14 сентября 2011

Существует открытая проблема для проблемы, которая выглядит точно так же на github => https://github.com/thoughtbot/capybara-webkit/issues/87

У них есть некоторые предложения по обходу, посмотрите, не поможет ли это вам.Удачи!

0 голосов
/ 08 декабря 2011

Просто хотел сказать, что у нас была такая же ошибка на нашем сервере Ubuntu CI.Это сборка LTS, и поэтому она работала с более старой версией libqt (v4.6.2) - обновление (с использованием tarball) до 4.7.4 решило проблему.Вероятно, это не поможет вашей ситуации, но кое-что стоит проверить.

...