如何从Capybara :: Session对象获取页面对象



我正在尝试使用Capybara的方法页面。

我通过获得Capybara会话来使用Capybara,但无法弄清楚如何获取页面对象

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")

如何使用Active Session(Capdriver(从上面使用此

page.should have_content("some google text")

我可能是错误的(我习惯于直接使用selenium :: Web Driver(。

page只是一种方法,在Capybara :: DSL上定义,当您将Capybara :: DSL包括在使用Capybaras自动会话管理时,它将返回capybara.current_session。由于您正在手动管理会话,因此您已经可以访问您要断言的Capybara :: Session对象,所以

capdriver.should have_content("some google text")

请注意,这是假设您已将Capybara :: RspecMatcher包含在您正在运行的任何对象范围中(因此可以使用have_content(

最新更新