我是一名使用python的新手,我想请教你如何向我展示如何将消息从Python打印到机器人框架控制台。
答案 0 :(得分:18)
python函数有多种方法可以将信息发送到机器人日志或控制台。这些都记录在Robot框架用户指南的标题为Logging information。
的部分中最干净的方法是使用logging API,它为各种日志记录提供专门的功能。例如,要将信息发送到控制台,您可以使用logger.console(message)
。
这是一个使用此方法的库文件:
# 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可以说是记录关键字信息的最佳方法。但是,这是一个相当新的API,自Robot Framework 2.6起可用,所以如果您使用旧版本的Robot,则可能需要使用其他技术之一。
答案 1 :(得分:4)
您所要求的是一种编写库的方法,以便您的测试用例可以在测试执行期间打印到控制台。
这非常简单,您可以在Logging Information下的RF手册中找到它。简短版本是您可以使用print语句记录将出现在日志和屏幕上的“WARN”,如下所示:
print "*WARN* This text will show up on the console."
答案 2 :(得分:0)
输入
Log ${Variable_name}
这将在生成的html报告文件中打印变量内容。