Я унаследовал 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, чтобы он стал функцией, принимающей аргумент?Будет ли это иметь больше смысла, или есть более прямой способ сделать это?Любая помощь приветствуется.