运行进程抛出错误“预计至少有 1 个非关键字参数,得到 0”

M.R*_*dha 0 process robotframework

我尝试使用 Robot Framework 脚本中的进程库中的“运行进程”关键字来运行 perl 脚本,该脚本的参数位于与当前文件夹具有不同路径的文件夹中。

Run Process  ./post.pl arg1 arg2   shell=True    cwd=/a/b/c
Run Code Online (Sandbox Code Playgroud)

当它运行时,它会抛出一个错误:

Keyword 'Process.Run Process' expected at least 1 non-keyword argument, got 0.
Run Code Online (Sandbox Code Playgroud)

有谁知道可能导致此问题的原因以及如何解决?

任何帮助将不胜感激!谢谢!

Mar*_*kus 5

当Robot Framework 本身识别的符号arg1或包含 Robot Framework 本身识别的符号时,可能会出现此问题。arg2确保用反斜杠转义它们。

例如,请参阅以下命令:

curl <args> "<url>/download?job=<name>"
Run Code Online (Sandbox Code Playgroud)

这将导致“关键字‘Process.Run Process’预计至少有 1 个非关键字参数,结果为 0。” 问题是,机器人框架认为这=是一个分配,所以你需要转义它:

curl <args> "<url>/download?job\=<name>"
Run Code Online (Sandbox Code Playgroud)

注意job\=<name>代替job=name. 无需在命令及其参数之间添加多个空格。