我是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)
要从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)
| 归档时间: |
|
| 查看次数: |
9727 次 |
| 最近记录: |