17

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

4

3 回答 3

28

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

最简洁的方法是使用日志 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、、、或。要记录错误,您只需抛出异常。warndebugtrace

调用内置关键字

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

from robot.libraries.BuiltIn import BuiltIn
def write_to_console(s):
    BuiltIn().log_to_console("Hello, world")

使用打印语句

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

print "*WARN* Danger Will Robinson"

概括

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

于 2014-05-22T14:15:59.737 回答
6

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

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

print "*WARN* This text will show up on the console."
于 2013-12-23T16:49:36.487 回答
0

此命令可用于在机器人控制台上打印任何消息或内容。

from robot.libraries.BuiltIn import BuiltIn
BuiltIn().log_to_console("Message that needs to be printed")
于 2017-01-24T10:37:53.797 回答