Капибара + Rspec + Selenium: страница всегда пуста в браузере - PullRequest
3 голосов
/ 21 февраля 2012

Я пытаюсь написать интеграционные тесты с Capybara, но каждый раз, когда открывается браузер, управляемый Selenium, страница пуста.Кроме того, для простого утверждения, такого как page.should have_selector('title'), я получаю сообщения об ошибках типа

Failure/Error: page.should have_selector('title')
   expected following output to contain a <title/> tag:
   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
   <html xmlns="http://www.w3.org/1999/xhtml">
   <head></head>
   <body></body>
   </html>

Т.е. страница пуста.

Я посещаю допустимый путь.Если я сделаю save_and_open_page, страница там будет .

Соответствующая часть Gemfile -

group :test, :development do
  gem 'rspec-rails', '~> 2.4'
  gem 'nokogiri'
  gem 'webrat'

  # capybara for javascript testing
  gem 'capybara'

  # launchy allows us to do save_and_launch_page, which is very helpful during testing
  gem 'launchy'
end

Приложение использует Rails 3.1.1.Я сделал bundle install и добавил

require 'capybara/rails'
require 'capybara/rspec'

к моим spec_helper.

Обратите внимание, это интеграционные тесты, а не тесты контроллеров - яне пропущено render_views.

У меня есть другие приложения, в которых этот материал работает нормально, что заставляет меня думать, что я либо что-то упустил в своей конфигурации, либо есть проблема с конкретными версиями, которые используются.

Selenium пытаетсяиспользовать Firefox, и я на OS X Snow Leopard, если это имеет значение.

1 Ответ

3 голосов
/ 25 февраля 2012

Возможно, вы захотите попробовать удалить webrat из вашего gemfile. Я считаю, что и вебрат, и капибара пытаются запустить тесты в каталоге запросов.

...