当使用 capybara-webkit 时,我遇到了 selenium 没有 error_messages
方法的问题,尽管 capybara-webkit
的文档说我应该能够一旦我在 scenario
上的标志设置为 :js => true
,就可以通过 page.driver.error_messages
访问它。但是,尝试访问它时,它会抛出:
NoMethodError:
undefined method `error_messages' for #<Capybara::Selenium::Driver:0xc501fc0>
我尝试使用以下方式访问消息:
page.should_not 有 page.driver.error_messages
我也尝试过:
page.should_not :have_errors
以及:
page.should_not have_errors
但没有效果。
最佳答案
我的理解是,error_messages
是capybara-webkit
驱动程序中包含的一个方法。它不适用于 selenium-webdriver
驱动程序。
根据您收到的异常,您正在使用selenium-webdriver
。默认情况下,当指定 :js => true
时,Capybara 使用 selenium-webdriver。
您可能想要更改 javascript_driver
以使用 :webkit
(如使用文档中所述 - https://github.com/thoughtbot/capybara-webkit)。
Capybara.javascript_driver = :webkit
关于ruby-on-rails-3 - 没有方法 error_messages selenium 和 capybara-webkit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16325411/