Как запустить скрипты Python через оболочку Python с помощью RobotFramework? - PullRequest
0 голосов
/ 03 февраля 2019

Я унаследовал Python Automation Framework с десятками скриптов Python, которые мы собираемся использовать повторно, чтобы избежать переписывания их в новой среде RobotFramework.

Основной скрипт, который я хочу запустить:

• открывает оболочку Python

• отправляет некоторый вывод

• принимает аргумент (True /False: 1/0)

• выполняет оставшуюся часть сценария.

Сценарии были добавлены в мою среду в отдельной папке с именем «PythonLibraries».При вызове вручную через терминал скрипты работают.Они запускаются, запрашивают аргументы и продолжают работу с остальным сценарием, поэтому, похоже, нет никаких проблем с самим сценарием.

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

Я уже несколько дней пытаюсь заставить это работать безуспешно.Я экспериментировал с библиотекой «Процесс», однако в Интернете очень мало поддержки / примеров, чтобы помочь с этим.При попытке запустить скрипт терминал зависает и ничего не выводит.Так что либо мой скрипт неверен, либо я делаю что-то не так.

Вот скрипт Python, который я хочу запустить.

import uuid
import BTR_ble_sim as BTR

from libs.BLE.script_config import read_serial_port_name, ask_for_serial_number
from libs.BLE.host_bgapi_psrecords import delete_all_bonds

DONGLE_SERIAL_PORT = read_serial_port_name()
SERIAL_NUMBER = "BT10" + str(uuid.uuid4().get_hex().upper()[0:3])
print "Device is broadcasting on: " + SERIAL_NUMBER

btr = BTR.GmInterface(DONGLE_SERIAL_PORT,SERIAL_NUMBER)
btr.delete_bonds()
btr.start_comm_with_time_sync()

Должен ли я редактировать скрипт python, чтобы он стал функцией, принимающей аргумент?Будет ли это иметь больше смысла, или есть более прямой способ сделать это?Любая помощь приветствуется.

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