私は Python を使用する初心者です。Python からロボット フレームワーク コンソールにメッセージを出力する方法を教えてください。
3 に答える
Python 関数が情報をロボット ログまたはコンソールに送信する方法はいくつかあります。これらはすべて、Robot フレームワークのユーザー ガイドのLogging informationというタイトルのセクションに記載されています。
最もクリーンな方法は、さまざまな種類のロギングに特化した関数を提供するlogging APIを使用することです。たとえば、コンソールに情報を送信するには、logger.console(message)
.
ロギング API の使用
この方法を使用するライブラリ ファイルは次のとおりです。
# ExampleKeywords.py
from robot.api import logger
def write_to_console(s):
logger.console(s)
このライブラリは、次の方法で使用できます。
*** Settings ***
| Library | ExampleKeywords.py
*** Test Cases ***
| Use a custom keyword to write to the console
| | Write to console | Hello, world
これはコンソールにのみ表示され、ログには表示されません。情報をログに表示したい場合は、ロガー メソッドinfo
、warn
、debug
、またはを使用できますtrace
。エラーをログに記録するには、単純に例外をスローします。
組み込みキーワードの呼び出し
カスタム キーワードからログに情報を送信する方法は他にもあります。たとえば、次のように、BuiltIn ライブラリへの参照を取得し、logまたはlog to consoleキーワードを直接呼び出すことができます。
from robot.libraries.BuiltIn import BuiltIn
def write_to_console(s):
BuiltIn().log_to_console("Hello, world")
印刷ステートメントの使用
最後に、print ステートメントを使用して、(コンソールだけでなく) ログに情報を書き込むことができます。文字列の前に を付け*<level>*
て、ログ レベルに影響を与えることができます。たとえば、警告を表示するには、次のようにします。
print "*WARN* Danger Will Robinson"
概要
API を使用することは、キーワードから情報をログに記録するための最良の方法であることは間違いありません。ただし、これは Robot Framework 2.6 以降でのみ使用できるかなり新しい API であるため、古いバージョンの Robot を使用している場合は、他の手法のいずれかを使用する必要がある場合があります。