2014-01-10 19 views
5

ブラウザのコンソールでエラーを確認するにはどうすればよいですか?Rubyでブラウザコンソールの出力を確認

たとえば、私はSeleniumでブラウザ(Firefoxのchrome)を上げましたが、私はSelenium WebDriverでいくつかのアクションを実行しました。私が知りたいのは、Webコンソールに何らかのエラーがあることです。

+0

を提出し、それをログ? –

+2

何もありません。私のアプリは失敗しませんでした。私はWebコンソールをチェックします。 –

+0

お元気ですか?もしあなたがあなたの答えを得たら、私に通知してください。可能かどうか知りたいです。 –

答えて

0

セレンルビーのバージョン2.38では、ロギングAPIが公開されています。

http://selenium.googlecode.com/git/rb/CHANGES

これはクロームコンソールログにア​​クセスすることができます。ここで

https://code.google.com/p/selenium/wiki/Logging

は、Javaの例ですが、ルビーに簡単に変換することができるはずです。

java example

+0

RemoteWebDriverを使用していてもAPIを呼び出す機能を追加するためにコードをモンキーパッチする必要がある場合は、以前のバージョンのRubyバインディングでログにアクセスすることはできます –

+0

http://selenium.googlecode.com/git/rb /変更が機能しない –

+0

@KickButtowskiこの回答は3歳以上です。私の回答の中のすべてのリンクを最新の状態に保たないことに対する謝罪。 おそらく新しいリンクを見つけて編集を送信できますか? –

0

@Arupのようなレスキューブロックを追加することをお勧めします。今

$ sudo gem install ruby-debug 

:あなたのGemfileにルビーのデバッグを追加したりして、それをインストールしてくださいコンソール

begin 
    puts "Your code here" 
rescue => e 
    debugger 
end 

にエラーをステップ実行することができるように加えて、あなたは、デバッグ文を追加することができますエラーが発生すると、コードが停止し、コンソールで例外を表示/踏み出すことができます。

Better Errors Gemを強くお勧めします。 Check out this episode on RailsCasts about it。この宝石を使用すると、Webブラウザで例外を表示して対話することができます。それは命の恩人です。

もう1つの素晴らしいプロジェクトは、rack-webconsoleです。この宝石は、文字通りあなたのウェブブラウザでいつでもコマンドラインを開き、あなたのRailsアプリケーションと対話することを可能にします。この宝石がまだサポートされているかどうかはわかりません。

最後に、クロムについてはRailsPanelを必ず入力してください。このアドオンは、あなたのRailsアプリケーションに関する素晴らしい情報を開発者用ツールのアドオンで提供します。

1

私のようなコンソールエラーを撮ってみました:

def check_console_log 
    console_log = @browser.driver.manage.get_log(:browser) 
    if console_log != nil 
     raise(console_log) 
    end 
end 

ともRubyの自身の `begin..rescue..end`で何の問題

def write_log(file_path) 
    work_log = @browser.driver.manage.get_log(:browser) 
    messages = "" 
    work_log.each { | item | messages += item.message + "\n"} 
    File.write("#{file_path}.log", messages) unless messages == "" 
end 
関連する問題