2

実行中にプレーンテキストのログ ファイルを作成する方法を説明しているこのドキュメントを読みました。それが言うように、それはDebug FileAll messages got from test libraries are written to themです。しかし、その内容のログ レベルを制御する方法を探しています。それを得るための仕組みやコツはありませんか?Debug fileまたは、 (テストの進行中にテスト実行メッセージをプレーンテキストに書き込む)機能も備えた他のロボットフレームワークオプションでさえありますか?

4

1 に答える 1

3

デバッグ ファイルに入る詳細の量を制御する方法はありません。デバッグ ファイルの要点は、デバッグ目的で詳細な出力を作成することです。

テストの実行中に情報をプレーン テキスト ファイルに書き込む必要がある場合は、いつでも必要な情報を書き込むリスナーを作成できます。

たとえば、各テストの開始時刻と終了時刻を書きたいとします。最初のステップは、リスナーを作成することです。この例では、次の内容で「CustomLog.py」という名前のファイルを作成します。

import datetime
class CustomLog:
    ROBOT_LISTENER_API_VERSION = 2

    def __init__(self, filename='listen.txt'):
        self.logfile = open("/tmp/robot.log", 'w')

    def _write(self, message):
        now = datetime.datetime.now()
        self.logfile.write(str(now) + " " + message + "\n")
        self.logfile.flush()

    def start_test(self, name, attrs):
        self._write("start_test: %s" % name)

    def end_test(self, name, attrs):
        self._write("end_test: %s (%s)" % (name, attrs["status"]))

    def close(self):
        self.logfile.close()

--listener引数を介して、このファイルの名前をロボットに渡すことができます。

robot --listener CustomLog.py ...

リスナー インターフェイスを使用すると、スイート、テスト、およびキーワードが開始および停止するアクションを実行できます。これらの方法はすべてドキュメントで説明されています。

于 2017-04-26T11:08:53.773 に答える