2014-01-10 5 views
5

Wie kann ich eine Browserkonsole auf Fehler überprüfen?Überprüfen Sie die Browser-Konsolenausgabe auf Ruby

Zum Beispiel habe ich Browser (Chrom von Firefox) mit Selenium ausgelöst und ich habe einige Aktionen mit Selenium WebDriver getan. Danach möchte ich wissen, ob ein Fehler in der Webkonsole vorliegt.

+0

Was für ein Problem mit Rubys eigenen 'begin..rescue..end' einzureichen? –

+2

Nichts. Meine App ist nicht fehlgeschlagen. Ich möchte die Webkonsole überprüfen. –

+0

Okay ... wenn Sie Ihre Antwort bekommen, benachrichtigen Sie mich .. Ich würde gerne wissen, ob es möglich ist oder nicht. –

Antwort

0

Version 2.38 des Selen-Rubins zeigt die Logging-API.

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

Auf diese Weise können Sie die Chromkonsole Protokolle zuzugreifen. Hier

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

ist ein Beispiel in Java, aber Sie sollten leicht in Ruby übersetzen sein können;

java example

+0

Sie können immer noch auf die Protokolle mit früheren Versionen der Ruby-Bindungen zugreifen, wenn Sie RemoteWebDriver verwenden, aber Sie müssen den Code packen, um die API-Methoden –

+0

http://selenium.googlecode.com/git/rb aufrufen zu können/CHANGES funktioniert nicht –

+0

@KickButtowski Diese Antwort ist über 3 Jahre alt. Entschuldigung dafür, dass ich nicht alle Links in meinen Antworten auf dem neuesten Stand halte. Vielleicht können Sie den neuen Link finden und eine Bearbeitung senden? –

0

Ich würde empfehlen, Rettungsblöcke wie @Arup empfohlen. Darüber hinaus können Sie eine Debug-Anweisung hinzufügen, so dass Sie durch die Fehler in der Konsole

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

Seien Sie sicher, den Rubin-debug zu Ihrem Gemfile hinzuzufügen, oder installieren Sie es mit Schritt kann: Jetzt

$ sudo gem install ruby-debug 

Wenn Sie Fehler haben, wird Ihr Code angehalten und Sie können die Ausnahmen in der Konsole anzeigen/durchlaufen.

Ich empfehle die bessere Fehler Gem. Check out this episode on RailsCasts about it. Mit diesem Juwel können Sie Ausnahmen in Ihrem Webbrowser anzeigen und mit ihnen interagieren. Es ist ein Lebensretter.

Ein anderes cooles Projekt, das ich kann, ist rack-webconsole. Mit diesem Juwel können Sie jederzeit eine Befehlszeile in Ihrem Webbrowser öffnen und mit Ihrer Rails-App interagieren. Nicht sicher, ob dieses Juwel noch unterstützt wird oder nicht.

Schließlich sicherstellen, RailsPanel für Chrom zu erhalten. Dieses Add-On bietet Ihnen einige tolle Informationen zu Ihrer Rails-App in einem Entwickler-Tool-Addon.

1

Ich versuchte Konsole Fehler zu nehmen wie:

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

und melden Sie es auch

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 
Verwandte Themen