Я пытаюсь написать интеграционные тесты с 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, если это имеет значение.