2016-04-20 11 views
1

Ich benutze Robot Framework 3.0 unter Python 2.7.8. Roboter Rahmen der Dokumentation (http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#programmatic-logging-apis) besagt, dassLog mit Python Anmeldung Robot Framework

Neben dem neuen öffentlichen Logging-API, Robot Framework bietet eine integrierte Unterstützung zu Python-Standardprotokollierungsmodul. Dies funktioniert so, dass alle Nachrichten, die vom Root-Logger des Moduls empfangen werden, automatisch in die Protokolldatei von Robot Framework übertragen werden.

machte ich eine kurze Bibliotheksdatei dies zu testen:

from logging import debug, error, info, warn 

def try_logging(): 
    info("This is merely a humble info message.") 
    debug("Most users never saw me.") 
    warn("I warn you about something.") 
    error("Something bad happened.") 

Mein Testfall ist:

*** Test Cases *** 
Logtest 
    Try logging 

Wenn ich es laufen sie ein PASSED Fall ist, aber nichts in der angemeldete HTML-Protokoll Das Testausführungsprotokoll hat die Farbe und den Fall und das Schlüsselwort, wie es sollte, aber wenn ich sie erweitere, wird nichts protokolliert, sondern die Zeile "Start/Ende/Verstrichen".

Wie kann ich die Python-Logger-Nachrichten an Robot weiterleiten? Wie Sie sehen können, funktioniert die automatische Weiterleitung nicht automatisch. Mein Ziel ist es, eine Bibliothek zu schreiben, die mit oder ohne Robot Fw ausgeführt werden kann.

Ty für Ihre Hilfe im Voraus.

Antwort

1

Nach stundenlangem Code-Graben habe ich die Antwort gefunden. Ich denke, es lohnt sich zu teilen, da es Ihnen helfen kann, wenn Sie ein ähnliches Problem haben.

In meinem Fall hatte ich einige unbenutzte Bibliotheken importiert. Eine davon war eine Klasse, die instanziiert wurde, als Robot Framework die Bibliotheksdatei importierte. Dieses Objekt hatte einige Logger-Einstellungen, die die Standardwerte durcheinander gebracht haben, weshalb ich im Roboterprotokoll kein Ergebnis erhalten habe.

Ohne es hatte ich die erwarteten Ergebnisse und automatische Propagierung funktionierte gut.

Verwandte Themen