如何使用RobotFramework在pythonshell中运行Python脚本?

2024-04-18 03:40:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我继承了一个Python自动化框架,其中包含几十个Python脚本,我们希望重用这些脚本,以避免在新的RobotFramework框架中重写它们。在

我希望运行的主脚本:

•打开Python shell

•发送一些输出

•接受参数(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脚本编辑为接受参数的函数?这样做更有意义吗,还是有更直截了当的方法呢?感谢任何帮助。在


Tags: 文件fromimport脚本框架终端number内容