Capybara + Rspec + Selenium: Page toujours vide dans le navigateur
-
28-10-2019 - |
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.
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.