Запись в консоль растровых роботов из Python

Я новичок, использующий python, и я хотел попросить вашу помощь в том, чтобы показать мне, как я могу печатать сообщения из Python в консоль для платформы robot.

Ответ 1

Есть несколько способов для функции python отправлять информацию в журналы робота или на консоль. Все они описаны в руководстве пользователя платформы Robot в разделе Информация о ведении журнала.

Самый простой способ - использовать 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, warn, debug или trace. Чтобы зарегистрировать ошибку, вы просто выбросили бы исключение.

Вызов встроенных ключевых слов

Существуют и другие способы для ваших пользовательских ключевых слов отправлять информацию в журналы. Например, вы можете получить ссылку на библиотеку BuiltIn и напрямую вызывать ключевые слова log или для консоли, например:

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

Похоже, что вы просите, это способ написать библиотеку, чтобы ваш тестовый документ мог печатать на консоли во время выполнения теста.

Это довольно просто, вы можете найти его в RF Manual в разделе Информация о регистрации. В короткой версии вы можете зарегистрировать "WARN", который появится как в журнале, так и на экране с помощью оператора печати, например:

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

Ответ 3

Эта команда может использоваться для печати любого сообщения или содержимого на консоли робота.

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