没有方法error_messages selenium和capybara-webkit

时间:2013-05-01 19:54:17

标签: ruby-on-rails-3 selenium ruby-on-rails-3.2 capybara capybara-webkit

当使用capybara-webkit时,我遇到了没有error_messages方法的selenium问题,尽管capybara-webkit的文档说我应该可以通过{{1}访问它} page.driver.error_messages上的我的旗帜设置为scenerio后。但是,试图访问它,它会抛出:

:js => true

我尝试使用以下方式访问消息:

NoMethodError: undefined method `error_messages' for #<Capybara::Selenium::Driver:0xc501fc0>

我也尝试过:

page.should_not have page.driver.error_messages

以及:

page.should_not :have_errors

但没有用。

1 个答案:

答案 0 :(得分:3)

我的理解是error_messagescapybara-webkit驱动程序中包含的方法。它不适用于selenium-webdriver驱动程序。

根据您获得的例外情况,您使用的是selenium-webdriver。默认情况下,Capybara在指定:js => true时使用selenium-webdriver。

您可能希望将javascript_driver更改为使用:webkit(如使用文档中所述 - https://github.com/thoughtbot/capybara-webkit)。

Capybara.javascript_driver = :webkit