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

相關問題