2016-04-20 24 views
1

私はPython 2.7.8でロボットフレームワーク3.0を使用しています。ロボットのフレームワークのドキュメント(http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#programmatic-logging-apisは)Robot FrameworkにログインするPythonログ

は、新しい公共のロギングAPIに加えて、ロボットフレームワークはPythonの標準ロギングモジュールに内蔵されたサポートを提供することを述べています。これにより、モジュールのルートロガーが受信したすべてのメッセージが自動的にRobot Frameworkのログファイルに伝播されます。

私はこれをテストするために、短いライブラリファイルを作っ:

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.") 

私のテストケースがある:

*** Test Cases *** 
Logtest 
    Try logging 

私はそれを実行すると、それが通過する場合であるが、何もがログインしていませんHTMLログ。テスト実行ログにはスーツとケースとキーワードが必要ですが、展開するときには「開始/終了/経過」の行は記録されません。

PythonロガーメッセージをRobotに転送するにはどうすればよいですか?あなたが見る通り、自動増殖は自動的には動作しません。私の目標は、Robot Fwの有無にかかわらず実行できるライブラリを作成することです。

Tyあなたの助けを前もって。

答えて

1

私は何時間もコードを掘り下げた後、答えを見つけることができました。私はあなたに似たような問題があるなら、それが助けになるかもしれないので、分け合う価値があると思います。

私のケースでは、未使用のライブラリをインポートしていました。そのうちの1つは、Robot Frameworkがライブラリファイルをインポートしたときにインスタンス化されたクラスでした。このオブジェクトには、デフォルトを混乱させるいくつかのロガー設定がありました。そのため、私はロボットのログに結果を得ませんでした。

私は予期せぬ結果を得て、自動伝播は正常に機能しました。

関連する問題