Robot Framework:在Windows上以参数启动进程?

jor*_*255 5 robotframework

我是Robot Framework的新手,我找不到在Windows上运行带有参数的过程的方法。我相当确定我不了解文档,但是有一种简单的方法可以做到这一点...

好的,假设我可以使用以下命令启动程序:

c:\myappdir>MyApp.exe /I ..\params\myAppParams.bin 
Run Code Online (Sandbox Code Playgroud)

如何在RF中做到这一点?

任何帮助将不胜感激。非常感谢你 :)

编辑1:

这是我的一段代码:

| *Setting*            | *Value*
| Resource             | compilationResource.robot 
#(Process lib is included in compilationResource)

#I removed the "|" for readability
...
TEST1
...
  ${REPLAYEXEDIR}=  get_replay_exe_dir #from a custom lib included in compilationResource
  ${EXEFULLPATH}= Join Path  ${WORKSPACEDIR}  ${REPLAYEXEDIR}  SDataProc.exe
  Should Exist  ${EXEFULLPATH}
  ${REPLAYLOGPATH}=  Join Path  ${WORKSPACEDIR}  ReplayLog.log
  ${REPLAYFILEPATH}=  Join Path  ${WORKSPACEDIR}  params  params.bin
  Should Exist  ${REPLAYFILEPATH}

  Start Process  ${EXEFULLPATH}  stderr=${REPLAYLOGPATH}  stdout=${REPLAYLOGPATH}  alias=replayjob
  Process Should Be Running  replayjob
  Terminate Process  replayjob                
  Process Should Be Stopped  replayjob
Run Code Online (Sandbox Code Playgroud)

这可行。一旦我尝试包含这样的参数:

  Start Process  ${EXEFULLPATH} ${/}I ${REPLAYFILEPATH}  stderr=${REPLAYLOGPATH}  stdout=${REPLAYLOGPATH}  alias=replayjob
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

WindowsError:[错误2]系统找不到指定的文件

并且此错误来自启动流程行。

让我知道是否不清楚或是否需要更多信息。谢谢大家的帮助。

编辑2:解决方案

每个自变量必须与另一个自变量(当不在shell中运行时)以双倍空格分隔。我没有使用双空格,因此出现错误。

|  | Start Process | ${EXEFULLPATH} | /I | ${REPLAYFILEPATH} | stderr=${REPLAYLOGPATH} | stdout=${REPLAYLOGPATH} | alias=replayjob
Run Code Online (Sandbox Code Playgroud)

Lau*_*iel 5

要从Robot Framework Test启动程序,请使用Process库,例如:

*** Settings ***
Library  Process

*** Test Cases ***
First test
   Run Process  c:${/}myappdir${/}prog.py  /I  ..\params\myAppParams.bin 
   # and then do some tests....
Run Code Online (Sandbox Code Playgroud)