Al usar capibaras y selenio para ejecutar pruebas de integración en rieles, si se produce una excepción, se muestra una página blanca en blanco en lugar de la pantalla de excepción habitual con el seguimiento de pila. ¿Hay alguna manera de que el capibara muestre las páginas de rastreo de la pila?Obtenga excepciones de rieles para mostrar usando capibara y selenio
Respuesta
No pude obtener las trazas de la pila para mostrar con Webrick o Thin, pero mi eventual solución fue utilizar Mongrel, que imprime correctamente los trazos de la pila en stderr.
Con capibara 0.4.1.2 o posterior, puede configurar capibara utilizar mestizo de este modo:
Capybara.server do |app, port|
require 'rack/handler/mongrel'
Rack::Handler::Mongrel.run(app, :Port => port)
end
esto es más probable debido a que el seguimiento de la pila sólo se muestra en el desarrollo modo de ejecución (o 'medio ambiente'), y sus pruebas de integración se ejecutan dentro del producción medio ambiente.
Por supuesto, ajustando la configuración del modo de producción, puede hacer que muestre la excepción. Pero no sería la forma correcta. La mejor manera es:
- registro de la huella excepción y pila en un archivo o en un servidor de registro donde el usuario no puede ver, pero que puede
- captura la excepción y render (hoptoad?) un página de error
Espero que esto ayude. Atentamente.
Creo que generalmente las personas tienen sus pruebas de Capybara ejecutándose en el entorno de prueba. –
solución de Matt no funcionó para mí, pero precisamente esta GIST https://gist.github.com/1443408 lo hizo.
https://github.com/thoughtbot/capybara-webkit/issues/226 explica con más detalle por qué sucede y proporciona una explicación sobre lo que se da en esencia.
Este fue el única solución que funcionó para mí. Gracias por señalarlo – nzifnab
- 1. Pepino/Capibara vs Selenio?
- 2. pepino, capibara y selenio funciona al azar
- 3. pruebas de selenio, capibara y pepino arrastrar y soltar reordenando
- 4. Pepino, capibara y selenio: enviar un formulario sin un botón
- 5. Ejecución de pruebas de selenio en paralelo con capibara
- 6. Pepino + Capibara + Selenio firefox abre example.com no es mi aplicación
- 7. Aplazamiento de solicitudes de Ajax en Pepino/Capibara/Selenio?
- 8. rieles, capibara y subdominios: cómo visitar determinado subdominio
- 9. ¿Cómo rellenar el editor de tinymce-rails con capibara y selenio?
- 10. Uso de capibaras y selenio para desplazarse sobre un elemento
- 11. El selenio no funciona con Pepino/Capibara (listo para usar) - MacOSX
- 12. Rieles Obtenga Múltiple por ID
- 13. Intentando obtener selenio trabajando en rieles 3 - "WebMock :: NetConnectNotAllowedError"
- 14. Rieles: Obtenga la hora de una fecha y hora
- 15. ¿Cómo seguir una redirección después de click_link/button con pepino y capibara en rieles?
- 16. rieles prueba de integración con selenio como WebDriver - no puede sign_in
- 17. ¿Cómo crear cookies usando selenio?
- 18. Rieles: obtenga #beginning_of_day en la zona horaria
- 19. Configurar capibara para confiar en todos los certificados SSL
- 20. Usando waitForCondition de selenio con un XPath
- 21. Rieles: obtenga las fechas de inicio y finalización de la semana actual y del mes
- 22. Cómo llenar ckeditor de capibara con webkit o selenium driver
- 23. Rieles: obtenga la dirección IP del cliente
- 24. maven cargo y selenio
- 25. Rieles 3 rutas y usando GET para crear URL limpias?
- 26. Cuando ejecuta selenio con carpincho/rieles, ¿cómo configuro el servidor?
- 27. Selenio y ckEditor
- 28. capibara de pepino ¿cómo funciona?
- 29. Rieles y selenio: cómo detener/pausar la ejecución de una prueba en el navegador?
- 30. Rieles: mostrar los resultados del índice y mostrar acciones a través de ajax
Gracias Matt! Eso hizo el truco – calstad
Puede aplicar el parche de monos fino en spec_helper.rb o env.rb: https://gist.github.com/999621 –
^^ Este parche ahora se ha fusionado en la última versión de Thin –