如何使用RobotFramework通过Python外壳运行Python脚本?

时间:2019-02-03 15:34:07

标签: python robotframework

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

我要运行的主要脚本:

•打开一个Python shell

•发送一些输出

•接受参数(对/错:1/0)

•运行脚本的其余部分。

这些脚本已添加到我的框架中的单独文件夹“ PythonLibraries”中。当通过终端手动调用时,脚本会起作用。他们运行,询问参数,然后继续执行脚本的其余部分,因此脚本本身似乎没有任何问题。

我正在寻找的是使用RobotFramework使它们自动化。想法是将python脚本导入到我的.robot文件中,创建一个关键字来运行该脚本并让它带有一个参数,然后将输出保存到变量或文件中,以便我查看正在输出的内容。

我已经尝试了几天,以使它顺利运行。我一直在尝试使用“ Process”库,但是在线上很少有支持/示例来帮助您。尝试运行脚本时,终端挂起并且不输出任何内容。所以我的脚本错误或者我做错了。

这是我要运行的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脚本编辑为接受参数的函数?这会更有意义,还是有更直接的方法呢?任何帮助都表示赞赏。

0 个答案:

没有答案