3
我是Robot Framework的新手,我无法找到在Windows上使用参数运行进程的方法。我敢肯定我不明白的文件并没有这样做,虽然一个简单的方法...Robot Framework:在Windows上使用参数启动进程?
好吧,让我们说,我可以使用这个命令启动程序:
c:\myappdir>MyApp.exe /I ..\params\myAppParams.bin
怎么办在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
这工作。当我尝试包括这样的论点:
Start Process ${EXEFULLPATH} ${/}I ${REPLAYFILEPATH} stderr=${REPLAYLOGPATH} stdout=${REPLAYLOGPATH} alias=replayjob
我得到这个错误:
WindowsError: [Error 2] The system cannot find the file specified
这个错误来自于启动过程线。
让我知道,如果我不清楚,或者如果需要更多的信息。 谢谢大家对此的帮助。
编辑2:解
每个参数必须(当外壳没有运行)与双空格分隔形式另一个。我没有使用双空格,因此错误。
| | Start Process | ${EXEFULLPATH} | /I | ${REPLAYFILEPATH} | stderr=${REPLAYLOGPATH} | stdout=${REPLAYLOGPATH} | alias=replayjob
谢谢您的回复洛朗。不过,我已经尝试过了,而且它没有工作。请参阅我的编辑1. – joris255 2014-09-23 11:52:31
好的,我错过了进程之间的分隔符/ I和参数文件路径。非常感谢你。另一方面,它表明双层空间分隔器的可读性差。我会坚持“|”分离器从现在开始。 Merci encore Laurent – joris255 2014-09-23 12:10:12
是的,我倾向于同意双倍空间分隔符可能会引起混淆。另一方面,把“|”到处都让测试变得更加重量级,看起来不像英语句子......那么,会不断思考它:-) – 2014-09-23 12:29:07