Question

J'essaie d'écrire des tests d'intégration avec Capybara, mais à chaque fois que le navigateur contrôlé par Selenium apparaît, la page est vide.De plus, pour une simple assertion comme page.should have_selector('title'), j'obtiens des erreurs comme

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>

Autrement dit, la page est vide.

Je visite un chemin valide.Si je fais un save_and_open_page, la page est là.

La partie pertinente du Gemfile est

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

L'application utilise Rails 3.1.1.J'ai fait bundle install et ajouté

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

à mon spec_helper.

Remarque, ce sont des tests d ' intégration , pas des tests de contrôleur - je ne manque pas render_views.

J'ai d'autres applications où cela fonctionne bien, ce qui me fait penser que je manque quelque chose dans ma configuration ou qu'il y a un problème avec les versions spécifiques utilisées.

Selenium essaie d'utiliser Firefox, et je suis sous OS X Snow Leopard, si cela compte.

Était-ce utile?

La solution

Vous voudrez peut-être essayer de supprimer webrat de votre fichier gem.Je crois que webrat et capybara essaient d'exécuter les tests dans le répertoire des requêtes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top