2016-08-03 68 views
1

我想盡量減少我的機器人關鍵字,並在我的網址測試中,我有時必須從一組輸入中構建一個URL,這些輸入可能因測試而異。長度可以從我catenating傳回一個網址與任何輸入參數傳入4-7的輸入參數在任何地方在Robot Framework中連接多個輸入參數的最佳方法是什麼?

如果我有一個做以下關鍵字:

inputs: ${location01} ${location02} ${location03}=${EMPTY} ${location04}=${EMPTY} 
${my_url} = Catenate SEPARATOR=/ ${location01} ${location02} ${location03} ${location04} 
[Return] ${my_url} 

什麼是測試$ {location03}是否爲空的最佳方法,因此我可以跳過其餘部分?

當我試圖測試$ {EMPTY},這樣下會出現假

${my_url} Run Keyword IF '${location03}'!='${EMPTY} Catenate SEPARATOR=/ ${location01} ${location02} ${location03} ${location04} 

我仍然得到連接而成的字符串,但在最後用的額外/結束,因此$ {} my_url看起來像:

${my_url} = ${location01}/${location02}// 

當我想:

${my_url} = ${location01}/${location02} 

我可能會丟失機器人是如何做的檢查,並initi將我的變量進行調整,我相信目前有一種方法可以做到這一點。

回答

3

聽起來像是你需要使用@ {} ARGS處理可變數量的參數:

*** Keywords *** 
Create URL 
    [Arguments] @{args} 
    ${url}=  Catenate SEPARATOR=/  @{args} 

*** Test Cases *** 
Test Url 
    Create URL  http://stackoverflow.com  questions  robotframework 
    Create URL  http://stackoverflow.com  questions 
+1

您可能要添加一個'[返回]'您的關鍵字。 –

+0

這正是我需要的......謝謝! – MichaelF

相關問題