我试图使用capybara的方法页面。应该有一些内容("一些txt")。
我通过获得水豚会话来使用水豚,但无法弄清楚如何获取页面对象
Capybara.register_driver :selenium do |app|
Capybara::Selenium::Driver.new(app, :browser => :chrome)
end
Capybara.current_driver = :selenium
capdriver = Capybara::Session.new(:selenium)
capdriver.visit ("https://google.com")
如何使用上面的活动会话(capdriver)来使用它:
page.should have_content("some google text")
我可能错误地设置了水豚(我以前习惯使用Selenium :: Webdriver)。
答案 0 :(得分:0)
page
只是一种在Capybara :: DSL上定义的方法,当您在使用Capybaras自动会话管理时将Capybara :: DSL包含到您的测试类中时,它返回Capybara.current_session。由于您手动管理会话,因此您已经可以访问要声明的Capybara :: Session对象,所以
capdriver.should have_content("some google text")
注意,这假设您已将Capybara :: RSpecMatchers包含在您正在运行的任何对象范围内(因此have_content
可用)