【问题标题】:Write to robot framework console from Python从 Python 写入机器人框架控制台
【发布时间】:2013-03-09 05:42:08
【问题描述】:

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

【问题讨论】:

  • 还没有真正尝试过任何东西。老实说,由于我是新手,我不知道从哪里开始:)....
  • 欢迎来到 Stackoverflow!我们尝试回答具体问题,而不是为您编写教程或编写代码。我知道有时甚至很难说出从哪里开始解决问题——您可能需要考虑编辑您的问题以获取文档链接或可以用来了解更多信息的搜索词。 (使用问题标签下的“编辑”链接。)

标签: python console robotframework


【解决方案1】:

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

这只会出现在控制台中,不会出现在日志中。如果您希望信息显示在日志中,您可以使用记录器方法infowarndebugtrace。要记录错误,您只需抛出异常即可。

调用内置关键字

您的自定义关键字还有其他方法可以将信息发送到日志。比如你可以得到一个BuiltIn库的引用,直接调用log或者log 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,您可能需要使用其他技术之一。

【讨论】:

    【解决方案2】:

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

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

    print "*WARN* This text will show up on the console."
    

    【讨论】:

    • 这种简单的技术非常适合从命令行运行单个测试用例,因为黄色的[WARN] 标签非常醒目。但是当批处理/远程运行(即 Jenkins)时,所有[WARN] 消息都在log.html 文件/页面顶部的部分中复制。这有点让人分心,但好处是每一行都有一个可点击的链接,可以深入了解它发生的日志上下文。
    【解决方案3】:

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

    from robot.libraries.BuiltIn import BuiltIn
    BuiltIn().log_to_console("Message that needs to be printed")
    

    【讨论】:

      猜你喜欢
      • 2013-04-30
      • 2017-10-13
      • 2021-11-11
      • 2017-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-10
      • 2014-09-28
      相关资源
      最近更新 更多