Структура робота - Как я могу увидеть вывод команды, выполненной в оболочке? - PullRequest
0 голосов
/ 06 января 2020

Я хотел бы использовать платформу Robot для автоматизации шага, когда следующая команда выполняется в cmd:

docker-compose logs --no-color --tail=1 the-server

Результатом предыдущей команды будет журнал сервера с именем the-server в файле docker -compose.yml.

После того, как я хотел бы проверить, есть ли в ответе этой команды строка Started the-server, чтобы проверить, работает ли сервер .

Я использую следующий файл робота:

*** Settings ***
Library    Process
Library    OperatingSystem
Suite Setup    log    running on ${properties.hostname}    
Suite Teardown    Terminate All Processes    kill=True

Variables    C:/Users/TheUser/Desktop/CheckOutRegression/properties.py

*** Test Cases ***
Check if the-server is up
    ${result}    Wait Until Keyword Succeeds    10x    20s    Check The-Server
*** Keyword ***
Check The-Server
    ${resultOfcmd}    Run Process    docker-compose logs --no-color --tail\=1 the-server   shell=yes    cwd=${properties.pathToDocker}
    Should Contain    ${resultOfcmd}    'Started the-server'    PASS
    Log To Console    ${resultOfcmd}

Тестовый случай всегда завершается ошибкой:

Ключевое слово 'Check The- Ошибка сервера после повторной попытки 10 раз. Последняя ошибка: TypeError: объект «ExecutionResult» не повторяется

также я не уверен, содержит ли переменная {resultOfcmd} выходные данные команды docker-compose logs --no-color --tail\=1 the-server.

Кто-нибудь может помочь?

1 Ответ

2 голосов
/ 07 января 2020

Проверьте документацию библиотеки процессов об объекте результата из ключевого слова Run Process:

https://robotframework.org/robotframework/latest/libraries/Process.html#Result% 20объект

Вы получаете результаты от ${resultOfcmd.stdout}.

Вам также следует использовать Log To Console перед ошибкой ключевого слова, чтобы увидеть результат перед неудачей теста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...