はじめに
robotframeworkはテストの自動化に便利です。
結果がhtmlやコンソールに表示されますし、見やすいです。
更にPythonのライブラリや自作の関数やクラスをrobotframeworkから呼び出すことも可能です。
robotframeworkにないライブラリなどはpythonの物を使えば大抵の事は出来るかと。
今回は外部から呼び出した自作のpythonで作ったソースコード内で表示したログメッセージをrobotrameworkのコンソールで表示する方法を調べたことがあったのでその時のメモです。
サンプルソース
サンプルではmy_library.pyという自作の関数をlog_to_console_from_python.robotというrobotframework上から呼び出すというものです。
python内でログの表示を行いますが、pythonのprintではrobotframeworkのコンソール上では表示されない事に注意です。
表示にはlogger.consoleを使います。
それぞれのサンプルコードです。
どちらも同じフォルダに配置してください。
pythonのサンプルです。
# my_library
from robot.api import logger
def my_library():
print("my_library呼び出し その1")
logger.console("『my_library呼び出し その2』")
robotframeworkのサンプルです。
*** Settings ***
Library my_library.py
*** Test Cases ***
my_libraryの呼び出し
my_library
robotframeworkのファイルを実行すると
==============================================================================
Log To Console From Python
==============================================================================
my_libraryの呼び出し
『my_library呼び出し その2』
my_libraryの呼び出し | PASS |
------------------------------------------------------------------------------
Log To Console From Python | PASS |
1 test, 1 passed, 0 failed
==============================================================================
とpython上で出力したメッセージがrobotframework上で表示されている事が分かります。
さいごに
今回はpythonソース内で表示させたログをrobotframeworkのコンソールで表示する方法でした。
デバッグでメッセージを表示するときなどに利用できるので便利です。
この記事がお役に立ったのなら嬉しいです。
最後までお読みいただきありがとうございます。