0
我正在尝试使用capybara的方法page.should have_content(“some txt”)。如何从Capybara :: Session对象获取页面对象
我用的水豚通过获取水豚会话,但无法弄清楚如何让页面对象
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)。
我已经尝试这样做,我得到一个“NoMethod”错误(我确实有需要“水豚/ rspec的” - 我假设这包括RSpecMatchers ??) NoMethodError: 未定义的方法'have_content'为#> –
ibaralf
要求capybara/rspec包含rspec视图中的匹配器和功能规格 - https://github.com/teamcapybara/capybara/blob/master/lib/capybara/rspec.rb#L10 - 所以除非你在视图或功能的例子(场景/它阻止),那么它不是包括在内。从错误它看起来像在SetPassword类的实例中运行它,是RSpec测试实例吗?如果是,那么确定它是用'type :::feature'或'type :::view'标记的,这取决于它是什么类型的测试。 –