rack_test - ¿Cómo usar el carpincho en Ruby puro(sin rieles)?
ruby on rails selenium (3)
Estoy tratando de ejecutar Capybara en un simple script de Ruby, es decir, sin / fuera de Rails. Aquí está el guión:
require ''rubygems''
require ''capybara''
require ''capybara/dsl''
include Capybara
Capybara.current_driver = :selenium
Capybara.app_host = ''http://www.google.com''
visit(''/'')
El problema es que cuando ejecuto esto obtengo este error:
NameError: uninitialized constant Capybara::Session
at top level in dsl.rb at line 52
method gem_original_require in custom_require.rb at line 36
method require in custom_require.rb at line 36
at top level in capybara_test.rb at line 3
method gem_original_require in custom_require.rb at line 31
method require in custom_require.rb at line 31
at top level in capybara_test.rb at line
¿Qué estoy haciendo mal?
Algo más de información:
- Mac OS X 10.5
- ruby 1.8.6 (2009-06-08 patchlevel 369) [universal-darwin9.0]
- carpincho (0.3.9)
¡Gracias!
Neal
Nota: Según el comentario de jnicklas, probé esto, que coincide con el nuevo archivo README más de cerca:
require ''rubygems''
require ''capybara''
require ''capybara/dsl''
Capybara.default_driver = :selenium
Capybara.app_host = ''http://www.google.com''
module MyCapybaraTest
include Capybara
def test_google
visit(''/'')
end
end
Lamentablemente, sigo viendo el mismo error:
NameError: uninitialized constant Capybara::Session
¿Pensamientos?
¡Gracias!
Aquí hay algo que parece funcionar para mí:
require ''rubygems''
require ''capybara''
require ''capybara/dsl''
Capybara.run_server = false
Capybara.current_driver = :selenium
Capybara.app_host = ''http://www.google.com''
module MyCapybaraTest
class Test
include Capybara::DSL
def test_google
visit(''/'')
end
end
end
t = MyCapybaraTest::Test.new
t.test_google
Muestra que incluso la documentación incorrecta vive para siempre. El README Capybara solía recomendar incluir Capybara en el espacio de nombres global, esta es una muy mala idea, y estropea cualquier cantidad de cosas al azar. Debe incluir Capybara en su propio módulo o clase y usar eso en su lugar.
Consulte el README para conocer las mejores prácticas actuales.
Por favor, consulte este ejemplo de CapybaraRspec101 y bifurque.
Es un pequeño ejemplo para pruebas de aceptación en http://www.hi5.com usando desde cero:
- Capybara
- Rspec
- Selenium-webdriver
Todas las instrucciones están en el repositorio