2016-06-27 56 views
0

我正在使用Capybara和Poltergeist做一些與Web相關的東西的Ruby應用程序。在Capybara + Poltergeist中顯示javascript後退

水豚被初始化方式如下:

Capybara.register_driver :poltergeist do |app| 
    Capybara::Poltergeist::Driver.new(app, :js_errors => true, :debug => true) 
end 
default_driver = :poltergeist 
Capybara.default_driver = default_driver 
Capybara.javascript_driver = default_driver 
Capybara.current_driver = default_driver 
Capybara.default_max_wait_time = 30 

我知道正在RAN失敗在某些時候,可能是因爲輸入錯誤的JavaScript的(但可能是因爲一些其他原因),但是當我運行應用程序時(bundle exec rake myapp:console),我沒有看到任何回溯。我看到了調試輸出,這是非常無用的。

我也看到我的一些console.log調用(我猜這個人沒有看到失敗,或者Ruby不知道如何打印這些)。

我的問題是:我怎麼能看到一些有用的輸出,可以幫助我調試我的JS代碼? PS:請注意,整個應用程序在Docker內部運行,因此請記住,如果您要推薦我從Poltergeist切換。

回答

1

運行相關頁面代碼之前,做

page.driver.enable_logging 

如前所述here(雖然相對於webkit的驅動程序),它應該顯示在控制檯的錯誤也是如此。

+0

我沒有任何測試。我試圖在我的應用程序中調試一些方法,所以我不確定所有'描述....'適用於此。還是呢? – alexandernst

+0

對不起,我誤解了你的問題。請參閱最新的答案。 –

+0

您的更新是針對'-webkit'。我正在使用'poltergeist'。所以我(預計)會爲#' – alexandernst

相關問題