当使用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
但没有用。
答案 0 :(得分:3)
我的理解是error_messages
是capybara-webkit
驱动程序中包含的方法。它不适用于selenium-webdriver
驱动程序。
根据您获得的例外情况,您使用的是selenium-webdriver
。默认情况下,Capybara在指定:js => true
时使用selenium-webdriver。
您可能希望将javascript_driver
更改为使用:webkit
(如使用文档中所述 - https://github.com/thoughtbot/capybara-webkit)。
Capybara.javascript_driver = :webkit