Capybara + RSPEC + Selenium: página siempre en blanco en el navegador
-
28-10-2019 - |
Pregunta
Estoy tratando de escribir pruebas de integración con Capybara, pero cada vez que aparece el navegador controlado por selenio, la página está en blanco. Además, para una simple afirmación como page.should have_selector('title')
, Obtengo errores como
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>
Es decir, la página está vacía.
Estoy visitando un camino que es válido. Si hago un save_and_open_page
, la página es allá.
La parte relevante del archivo gem es
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
La aplicación está usando Rails 3.1.1. hice bundle install
y agregado
require 'capybara/rails'
require 'capybara/rspec'
para mi spec_helper
.
Tenga en cuenta que estos son integración pruebas, no pruebas de controlador, no me faltan render_views
.
Tengo otras aplicaciones donde estas cosas funcionan bien, lo que me hace pensar que me estoy perdiendo algo en mi configuración o hay un problema con las versiones específicas que se utilizan.
Selenium está tratando de usar Firefox, y estoy en OS X Snow Leopard, si eso importa.
Solución
Es posible que desee intentar eliminar Webrat de su archivo gem. Creo que tanto Webrat como Capybara intentan ejecutar las pruebas en el directorio de solicitudes.