官方文檔中給出三種類型:標量,列表和字典。
- 標量爲最常用的類型,標量在大部分情況下是字符串形式,在使用時將變量名替換爲其值。
- 列表變量,列表中的元素可以爲任何類型,列表的訪問從0開始。
- 字典,同列表一樣,字典的值和鍵可以爲任何元素,字典是無序的,通過鍵值進行訪問。
- 環境變量,robot framework可以直接訪問系統的環境變量。
- - 操作系統變量
變量 |
描述 |
${CURDIR} |
當前測試文件的絕對路徑,大小寫敏感 |
${TEMPDIR} |
臨時文件的絕對路徑,linux系統上爲/tmp,windows上是c:\Documents and Settings<user>\Local Settings\Temp |
${EXECDIR} |
開始執行測試時所在文件夾的絕對路徑 |
${/} |
系統路徑分隔符,linux上爲/,Windows上爲\ |
${:} |
系統路徑分隔符,Linux上爲:,Windows上爲; |
${\n} |
系統文件行分割符,Linux上爲\n,Windows上爲\r\n |
*** Test Cases ***
Example
Create Binary File ${CURDIR}${/}input.data Some text here${\n}on two lines
Set Environment Variable CLASSPATH ${TEMPDIR}${:}${CURDIR}${/}foo.jar
- - 數字變量
*** Test Cases ***
Example 1A
Connect example.com 80 # Connect gets two strings as arguments
Example 1B
Connect example.com ${80} # Connect gets a string and an integer
Example 2
Do X ${3.14} ${-1e-4} # Do X gets floating point numbers 3.14 and -0.0001
- - 布爾和None/Null變量 > python 中的None和JAVA中的Null都可以作爲Robot Framwork的內置變量。
*** Test Cases ***
Boolean
Set Status ${true} # Set Status gets Boolean true as an argument
Create Y something ${false} # Create Y gets a string and Boolean false
None
Do XYZ ${None} # Do XYZ gets Python None as an argument
Null
${ret} = Get Value arg # Checking that Get Value returns Java null
Should Be Equal ${ret} ${null}
- - 空格和空變量
*** Test Cases ***
One space
Should Be Equal ${SPACE} \ \
Four spaces
Should Be Equal ${SPACE * 4} \ \ \ \ \
Ten spaces
Should Be Equal ${SPACE * 10} \ \ \ \ \ \ \ \ \ \ \
Quoted space
Should Be Equal "${SPACE}" " "
Quoted spaces
Should Be Equal "${SPACE * 2}" " \ "
Empty
Should Be Equal ${EMPTY} \
變量 |
描述 |
使用範圍 |
${TEST NAME} |
當前測試用例的名稱 |
測試用例內 |
@{TEST TAGS} |
當前測試用的Tags |
測試用例內 |
${TEST DOCUMENTATION} |
當前測試用例的文檔 |
測試用例內 |
${TEST STATUS} |
當前測試用例的測試結果,PASS或FAIL |
Test teardown |
${TEST MESSAGE} |
當前測試用的的測試結果信息 |
Test teatdown |
${PREV TEST NAME} |
上一條測試用例的名稱,如果沒有則值爲空 |
任意 |
${PREV TEST STATUS} |
上一條測試用例的結果,如果沒有則值爲空 |
任意 |
${PREV TEST MESSAGE} |
上一條測試用例的結果信息,如果沒有則值爲空 |
任意 |
${SUITE NAME} |
當前測試集的全稱 |
任意 |
${SUITE SOURCE} |
當前測試集的絕對路徑 |
任意 |
${SUITE DOCUMENTATION} |
當前測試集的描述,可以通過Set Suite Documentation 修改 |
任意 |
&{SUITE METADATA} |
當前測試集的METADATA,可以通過Set Suite Metadata修改 |
任意 |
${SUITE STATUS} |
當前測試集的測試狀態 |
Suite teardown |
${SUITE MESSAGE} |
當前測試集的測試狀態信息 |
Suite teardown |
${KEYWORD STATUS} |
當前關鍵字的狀態 |
Keyword teardown |
${KEYWORD MESSAGE} |
當前關鍵字的狀態信息 |
Keyword teardown |
${LOG LEVEL} |
當前的日誌級別 |
任意 |
${OUTPUT FILE} |
output文件的絕對路徑 |
任意 |
${LOG FILE} |
log文件的絕對路徑,如果沒有則爲None |
任意 |
${REPORT FILE} |
report文件的絕對路徑,如果沒有則爲None |
任意 |
${DEBUG FILE} |
debug文件的絕對路徑,如果沒有則爲None |
任意 |
${OUTPUT DIR} |
output文件夾的絕對路徑 |
任意 |