从Python写入机器人框架控制台

Mar*_*125 13 python console robotframework

我是一个使用python的新手,我想请求你的帮助,告诉我如何将消息从Python打印到机器人框架控制台.

Bry*_*ley 21

python函数有几种方法可以将信息发送到机器人日志或控制台.这些都记录在Robot框架用户指南的标题为Logging information的部分中.

最干净的方法是使用日志记录API,它为各种日志记录提供专门的功能.例如,要将信息发送到您将使用的控制台logger.console(message).

使用日志记录API

这是一个使用此方法的库文件:

# ExampleKeywords.py
from robot.api import logger
def write_to_console(s):
    logger.console(s)
Run Code Online (Sandbox Code Playgroud)

您可以通过以下方式使用此库:

*** Settings ***
| Library | ExampleKeywords.py

*** Test Cases ***
| Use a custom keyword to write to the console
| | Write to console | Hello, world
Run Code Online (Sandbox Code Playgroud)

这将仅出现在控制台中,并且不会显示在日志中.如果您想要的信息,在日志中显示出来,您可以使用记录仪方法info,warn,debug,或trace.要记录错误,您只需抛出异常.

调用内置关键字

您的自定义关键字还有其他方法可以将信息发送到日志.例如,您可以获取对BuiltIn库的引用,并直接调用日志记录到控制台关键字,如下所示:

from robot.libraries.BuiltIn import BuiltIn
def write_to_console(s):
    BuiltIn().log_to_console("Hello, world")
Run Code Online (Sandbox Code Playgroud)

使用print语句

最后,您可以使用print语句将信息写入日志(但不仅仅是控制台).您可以在字符串前添加前缀*<level>*以影响日志级别.例如,要打印警告,您可以执行以下操作:

print "*WARN* Danger Will Robinson"
Run Code Online (Sandbox Code Playgroud)

摘要

使用API​​可以说是记录关键字信息的最佳方法.但是,这是一个相当新的API,自Robot Framework 2.6起可用,因此如果您使用旧版本的Robot,则可能需要使用其他技术之一.


FBe*_*old 5

听起来您想要的是一种编写库的方法,以便您的测试用例可以在测试执行期间打印到控制台。

这很简单,您可以在RF手册的Logging Information下找到它。简短的版本是您可以记录“ WARN”,该消息将以打印语句出现在日志和屏幕上,如下所示:

print "*WARN* This text will show up on the console."
Run Code Online (Sandbox Code Playgroud)