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