如何在纯Ruby(无Rails)中使用Capybara? [英] How to use Capybara in pure Ruby (without Rails)?
本文介绍了如何在纯Ruby(无Rails)中使用Capybara?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图让Capybara在简单的Ruby脚本中运行-即在Rails之外/之外。这是脚本:
I'm trying to get Capybara running in a simple Ruby script -- i.e. without/outside of Rails. Here's the script:
require 'rubygems'
require 'capybara'
require 'capybara/dsl'
include Capybara
Capybara.current_driver = :selenium
Capybara.app_host = 'http://www.google.com'
visit('/')
问题是,当我运行此命令时,出现此错误:
The problem is that when I run this I get this 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
我在做什么错了?
更多信息:
- Mac OS X 10.5
- ruby 1.8.6(2009-06-08补丁程序级别36 9)[universal-darwin9.0]
- 水豚(0.3.9)
谢谢!
Neal
注意:根据jnicklas的评论,我尝试过此操作,它与新的自述文件更紧密地匹配:
Note: Per the comment from jnicklas I tried this, which matches the new README more closely:
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
不幸的是,我仍然看到相同的错误:
Unfortunately, I'm still seeing the same error:
NameError: uninitialized constant Capybara::Session
有什么想法?
谢谢!
推荐答案
以下内容似乎对我有用:
Here's something that seems to work for me:
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
这篇关于如何在纯Ruby(无Rails)中使用Capybara?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文