Robot Framework: вызов процесса не заканчивается sh, но ключевое слово заканчивается - PullRequest
0 голосов
/ 20 марта 2020

У меня есть робот-тест, который вызывает процесс, который читает много данных из файлов и выполняет вычисления на нем.

Процесс написан на C ++ и вызывается через Python API для робота.

В моем Python у меня есть команда для запуска процесса и регистрации его в консоль, то в самом конце функции у меня есть оператор печати:

verify = run(command).decode("utf-8")
logger.console(verify)
.
.
.
logger.console("finished the test")

Когда я запускаю ту же команду через командную строку (без робота), мой процесс завершается, потому что выполняются мои завершающие операторы отладки выводится на консоль. Однако, когда тот же процесс вызывается через Python через Robot, кажется, что он останавливается в середине команды, а затем выполняет мой последний оператор печати (см. Выше).

Пример ожидаемого вывода (когда запустить через командную строку):

.
.
.
2020/03/19+23:54:46.646569 25.600000
2020/03/19+23:54:46.646575 15.600000
2020/03/19+23:54:46.646588 26.600000
finished the test

Фактический вывод (при запуске через робот):

.
.
.

2020/03/19+23:54:46.646569 25.600000
2020/03/19+23:5
finished the test

Я новичок в роботе, и я думаю, что это может быть время выдавать? Поскольку я выполняю одну и ту же команду только двумя разными способами, я думаю, что они оба будут делать одно и то же (либо fini sh, либо остановка посередине). Но через командную строку он завершается и работает так, как я ожидаю, но через робота, кажется, его ловят и останавливают (ошибки не выводятся), а остальное ключевое слово выполняется.

Есть идеи? Спасибо!

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