我的文件夹布局如下
int
当我手动导航到PythonLibraries文件夹并运行以下命令时,脚本运行并且该函数正常运行,并带有参数'Test123'。
-- Keywords
-- Tests
-- MyTest.robot
-- PythonLibraries
-- MyPythonScript.py
-- Results
我现在正尝试使用Process Library将其引入到我的RobotFramework中的MyTest.robot中。我试过同时使用“运行过程”和“启动过程”,但没有运气。我知道我需要包括一些配置以将脚本指向我的PythonLibraries文件夹。我还需要能够举例,例如。测试123。
python -c 'import MyPythonScript; MyPythonScript.My_Function();' Test123
我需要有关如何编写此代码的语法的帮助。除非您只想打印到终端,否则对此在线支持是有限的,这对我没有太大帮助。任何帮助,将不胜感激。
答案 0 :(得分:2)
重要的是要记住,对于命令行上的命令,引号是 shell 的要求,而不是python。因此,当从shell以外的东西执行相同的命令行时,您需要使用适当的引号(或根本不用引号)。
对于机械手,引号是参数之间的空格。换句话说,您不需要像在shell中那样使用单引号来告诉python命令的开始和结束位置,这就是两个或多个空格的用途。
在您的情况下,从Start Process
运行的命令是“ python”,该命令的参数是“ -c”,整个脚本和“ Test123”。他们每个人都需要使用机器人的“引用”-每个人周围都有空格。
最后,关键字的关键字参数必须在要运行的命令之后 之后,在非关键字参数之后。
以下应该起作用。我使用了多行代码,以便更轻松地查看各个参数
${result}= Start Process
... python
... -c
... import MyPythonScript; MyPythonScript.MyFunction()
... Test123
... cwd=${ROOT}/PythonLibraries
另一种写法是:
${result}= Start Process
... python -c import MyPythonScript; MyPythonScript.MyFunction() Test123
... cwd=${ROOT}/PythonLibraries