1

当使用capybara-webkit时,我遇到了没有error_messages方法的硒问题,尽管capybara-webkit的文档说我应该可以通过page.driver.error_messages来访问它,一旦我的标志scenerio设置为:js => true。但是,试图访问它,它抛出:No method error_messages selenium and capybara-webkit

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

,我已经尝试使用访问消息:

page.should_not have page.driver.error_messages

我也曾尝试:

page.should_not :have_errors

以及:

page.should_not have_errors

但无济于事。

回答

3

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

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

您可能想要将您的javascript_driver更改为使用:webkit(如使用文档中提到的https://github.com/thoughtbot/capybara-webkit)。

Capybara.javascript_driver = :webkit 
+0

在哪里添加此行? – Lokesh 2017-07-05 11:40:28

+1

@Lokesh,你可以在你的设置开始时放置这条线(在你需要水豚之后)。 – 2017-07-05 13:26:39

相关问题