Robot Framework 內置變量

轉自:https://blog.csdn.net/qq_26886929/article/details/53907755#commentBox

Robot Framework 內部提供了一下直接可用的內置變量

 

1. 操作系統相關變量

 

內置的操作系統相關的變量,減少了測試數據對操作系統之間的差異性的關注

RF 中可用的操作系統相關的內置變量如下表:

 

變量 用途
${CURDIR} 測試數據文件所在目錄的絕對路徑,該參數是大小寫敏感的
${TEMPDIR} 操作系統臨時目錄的絕對路徑,在類 Unix 系統中,該路徑通常是 /tmp;在 Windows 系統中,通常是 c:\Documents and Settings\<user>\Local Settings\Temp
${EXECDIR} 到測試開始執行的目錄的絕對路徑
${/} 操作系統文件路徑分隔符,在類 Unix 系統中爲: ‘/’, 在 Windows 中則爲: ‘\’
${:} 操作系統路徑元素分隔符,在類 Unix 系統中爲: ‘:’,在 Windows 中則爲: ‘;’
${\n} 操作系統行分隔符,在類 Unix 系統中爲: ‘\n’,在 Windows 中則爲: ‘\r\n’

 

  1. *** Test Cases ***

  2. Example

  3. Create Binary File ${CURDIR}${/}input.data Some text here${\n}on two lines

  4. Set Environment Variable CLASSPATH ${TEMPDIR}${:}${CURDIR}${/}foo.jar 

 

2. 數字變量

 

如下面例子中所示,變量語法能用來創建 整型 和 浮點型 數據。當一個關鍵字需要 真實的數字而非對應的數字字符串作爲參數時,這種創建數字變量的方法是很有用的。

  1. *** Test Cases ***

  2. Example 1A

  3. Connect example.com 80 # Connect 獲得兩個字符串作爲參數

  4. Example 1B

  5. Connect example.com ${80} # Connect 獲得一個字符串和一個整數作爲參數

  6. Example 2

  7. Do X ${3.14} ${‐1e‐4} # Do X 獲得浮點數 3.14 和 ‐0.0001 作爲參數

 

從二進制,八進制和十六進制值來創建整數也是可以的,創建時分別用: 0b, 0o 和 0x 作爲相應的前綴,並且這種語法是大小寫不敏感的。

  1. *** Test Cases ***

  2. Example

  3. Should Be Equal ${0b1011} ${11}

  4. Should Be Equal ${0o10} ${8}

  5. Should Be Equal ${0xff} ${255}

  6. Should Be Equal ${0B1010} ${0XA}

 

3. 布爾值和 None/ null變量

 

布爾值和 Python 的 None,Java 的 null 變量也可以用創建數字變量類似的語法創建:

  1. *** Test Cases ***

  2. Boolean

  3. Set Status ${true} # Set Status 獲得布爾值 true 作爲參數

  4. Create Y something ${false} # Create Y 獲得字符串和布爾值 false 作爲參數

  5.  
  6. None

  7. Do XYZ ${None} # Do XYZ 獲得 Python None 作爲參數

  8.  
  9. Null

  10. ${ret} = Get Value arg # Checking that Get Value returns Java null

  11. Should Be Equal ${ret} ${null}

這些變量也是大小寫不敏感的,所以 ${True} 和 ${true} 是一樣的。此外 ${None} 和 ${null} 是同義詞,因爲用 Jython 解釋器執行用例時, Jython 會自動將 None 和 null 轉換成正確格式。

 

4.空格和空(empty)變量

可以分別使用 ${SPACE} 和 ${EMPTY} 來創建空格和空字符串變量。這些變量很有用,如果不使用這些變量的話,就需要對空格或空單元格進行轉義。如果需要一個以上的空格,也可以使用擴展變量語法來輕易獲得,形如: ${SPACE * 5}。下面的例子中,Should Be Equal 關鍵字得到的參數值是相等的,但很明顯使用變量的方式比使用 ‘\' 轉義的方式更易理解。

  1. *** Test Cases ***

  2. One Space

  3. Should Be Equal ${SPACE} \ \

  4.  
  5. Four Spaces

  6. Should Be Equal ${SPACE * 4} \ \ \ \ \

  7.  
  8. Ten Spaces

  9. Should Be Equal ${SPACE * 10} \ \ \ \ \ \ \ \ \ \ \

  10.  
  11. Quoted Space

  12. Should Be Equal "${SPACE}" " "

  13.  
  14. Quoted Spaces

  15. Should Be Equal "${SPACE * 2}" " \ "

  16.  
  17. Empty

  18. Should Be Equal ${EMPTY} \

 

還有兩個變量 @{EMPTY} 和 &{EMPTY},他們分別表示 ‘空列表’ 和 ‘空字典’ 變量。 這兩個變量也是有用的,例如在寫測試模板的時候,模板關鍵字不帶參數使用時。


 
  1. *** Test Cases ***

  2. Template

  3. [Template] Some keyword

  4. @{EMPTY}

  5.  
  6. Override

  7. Set Global Variable @{LIST} @{EMPTY}

  8. Set Suite Variable &{DICT} &{EMPTY}

 

5. 自動變量


還有一些自動變量可以在測試數據中使用。這些變量在測試過程中可能有不同的取值,其中有一些甚至不是一直可用的。

變量 解釋 使用地點
${TEST NAME} 當前測試用例的名稱 測試用例中
@{TEST TAGS} 當前測試用例被打上的所有標記,按字母順序排列。可以使用 Set Tags 和 Remove Tags 關鍵字動態的修改 測試用例中
${TEST DOCUMENTATION} 當前測試用例的說明文檔,可以使用 Set Test Documentation 關鍵字動態的修改 測試用例中
${TEST STATUS} 當前測試用例的執行狀態,PASS 或 FAIL 測試用例 teardown時
${TEST MESSAGE} 當前測試用例的信息 測試用例 teardown時
${PREV TEST NAME} 前一個測試用例的名字,如果還沒有測試用例被執行,則該值爲空 所有地方
${PREV TEST STATUS} 前一個測試用例的執行狀態,PASS/FAIL,如果還沒有測試用例被執行,則該值爲空 所有地方
${PREV TEST MESSAGE} 前一個測試用例執行所產生的可能的錯誤信息 所有地方
${SUITE NAME} 當前測試套件的全稱 所有地方
${SUITE SOURCE} 當前測試套件文件或目錄的絕對路徑 所有地方
${SUITE DOCUMENTATION} 當前測試套件的說明文檔,可以使用 Set Suite Documentation 關鍵字動態的改變 所有地方
&{SUITE METADATA} 當前測試套件的元數據 所有地方
${SUITE STATUS} 當前測試套件的執行狀態, PASS 或 FAIL 測試套件 teardown
${SUITE MESSAGE} 當前測試套件的全部信息,包括統計 測試套件 teardown
${KEYWORD STATUS} 當前關鍵的執行狀態,PASS 或 FAIL 用戶關鍵字 teardown
${KEYWORD MESSAGE} 當前關鍵字執行時可能產生的錯誤信息 用戶關鍵字 teardown
${LOG LEVEL} 當前日誌級別 所有地方
${OUTPUT FILE} 到輸出文件的絕對路徑 所有地方
${LOG FILE} 到日誌文件的絕對路徑,或者爲NONE 當沒有創建日誌文件時 所有地方
${REPORT FILE} 到測試報告文件的絕對路徑,或者爲NONE 當沒有創建測試報告文件時 所有地方
${DEBUG FILE} 到debug文件的絕對路徑,或者爲NONE 當沒有創建debug文件時 所有地方
${OUTPUT DIR} 到輸出目錄的絕對路徑 所有地方
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章