Robot Framework 內置變量

Robot Framework 內置變量

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

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. None
  6. Do XYZ ${None} # Do XYZ 獲得 Python None 作為參數
  7. Null
  8. ${ret} = Get Value arg # Checking that Get Value returns Java null
  9. 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. Four Spaces
  5. Should Be Equal ${SPACE * 4} \ \ \ \ \
  6. Ten Spaces
  7. Should Be Equal ${SPACE * 10} \ \ \ \ \ \ \ \ \ \ \
  8. Quoted Space
  9. Should Be Equal "${SPACE}" " "
  10. Quoted Spaces
  11. Should Be Equal "${SPACE * 2}" " \ "
  12. Empty
  13. Should Be Equal ${EMPTY} \


?還有兩個變量 @{EMPTY} 和 &{EMPTY},他們分別表示 ‘空列表’ 和 ‘空字典’ 變量。 這兩個變量也是有用的,例如在寫測試模板的時候,模板關鍵字不帶參數使用時。
  1. *** Test Cases ***
  2. Template
  3. [Template] Some keyword
  4. @{EMPTY}
  5. Override
  6. Set Global Variable @{LIST} @{EMPTY}
  7. 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}到輸出目錄的絕對路徑所有地方
posted on 2019-02-28 14:07 搏擊的小船 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/guanjie20/p/10450028.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/248456.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/248456.shtml
英文地址,請注明出處:http://en.pswp.cn/news/248456.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

一文搞懂this指向

前言 那你說一下 js 中的 this 指向吧&#xff01;這句話已經成為面試官口中的高頻面試題&#xff0c;作為前端開發的我們&#xff0c;你真的搞懂了 this 指向了嗎&#xff1f;快來跟我一起來查漏補缺吧&#xff01;通過幾個小案例讓大家更能直白的理解 this 指向。 很多前端伙…

難怪大家丟掉了postman而選擇 Apifox

前言 當下采用前后端分離模式開發Web應用已經成為氣候&#xff0c;在開發階段有一個不成文的規定則是 項目開發后端先行 但是作為前端開發工程師的我們&#xff0c;難道在搭建完頁面后只能等待后端的接口么&#xff1f;這樣的話我們則完全被后端開發限制住了。在前面跟大家介紹…

mvc 模式和mtc 模式的區別

首先說說Web服務器開發領域里著名的MVC模式&#xff0c;所謂MVC就是把Web應用分為模型(M)&#xff0c;控制器(C)和視圖(V)三層&#xff0c;他們之間以一種插件式的、松耦合的方式連接在一起&#xff0c;模型負責業務對象與數據庫的映射(ORM)&#xff0c;視圖負責與用戶的交互(頁…

HP LaserJet MFP M227_M231雙面打印

雙面打印設置 轉載于:https://www.cnblogs.com/xiexiaokui/p/9261577.html

萬木成林,我種了“Vue技能樹”

初衷 作為Vue技能樹的構建者&#xff0c;一直拖延到現在才來寫這篇文章&#xff0c;主要還是心里沒有底&#xff0c;前面殊不知這顆“樹”是否促進了大家學習的熱情&#xff0c;也不知它給大家帶來了多少收獲。說到我們的Vue技能樹&#xff0c;我作為尤大大的忠實粉絲自就業后…

我看面向對象

已經面向對象編程多年了&#xff0c;漸漸地對面向對象有了越來越深的體會&#xff0c;下面談談我對面向對象的拙見&#xff1a;&#xff09; 面向對象三大特性&#xff1a;封裝、繼承、多態。 首先是封裝&#xff0c;我覺得封裝是面向對象的基礎&#xff0c;封裝讓各種相關的數…

poj 3525

多邊形內最大半徑圓。 哇沒有枉費了我自閉了這么些天&#xff0c;大概五天前我看到這種題可能毫無思路抓耳撓腮舉手投降什么的&#xff0c;現在已經能1A了哇。 還是先玩一會計算幾何&#xff0c;刷個幾百道 嗯這個半平面交二分就闊以解決。雖然隊友說他施展三分套三分***** 想象…

尤雨溪對 2022 Web前端生態趨勢是這樣看的

文章目錄前言開發范式&底層框架方面趨勢基于依賴追蹤范式基于依賴追蹤范式—共同點基于編譯的響應式系統統一模型的優勢和代價基于編譯的運行是優化Vue Vapor Mode&#xff08;input&#xff09;工具鏈原生語言在前端工具鏈中的使用工具鏈的抽象層次基于 Vite 的上層框架上…

bzoj4919 [Lydsy1706月賽]大根堆

Description 給定一棵n個節點的有根樹&#xff0c;編號依次為1到n&#xff0c;其中1號點為根節點。每個點有一個權值v_i。你需要將這棵樹轉化成一個大根堆。確切地說&#xff0c;你需要選擇盡可能多的節點&#xff0c;滿足大根堆的性質&#xff1a;對于任意兩個點i,j&#xff0…

眾多mock工具,這一次我選對了

文章目錄寫在前面Mock介紹Mock能解決什么問題?傳統Mock解決方案Postman接口測試工具Mock js第三方庫Eolink解決方案全局Mock高級Mock返回結果Mock智能內置Mock智能自定義Mock約束條件MockEolink的Mock解決方案的優勢:寫在最后寫在前面 交戰之前&#xff0c;戰士必先利其兵器&…

高并發的理解和使用場景-----特意區別和多線程的關系

一&#xff0c;高并發的理解 1.概念&#xff1a;就是短時間內遇到大量操作請求&#xff0c;導致站點服務器/db服務器資源被占滿甚至嚴重時直接導致宕 2.影響&#xff1a;沒有做高并發預處理的系統會給用戶很差的體驗感&#xff1b; 3.系統好壞的衡量&#xff1a;衡量一個系統的…

async 和 await 原來這么簡單

前言 前端同學們可能都知道 async 和 await 的使用&#xff0c;當被面試官問到 async 和 await 的是什么&#xff1f;或者說一說你對 async、await 的理解&#xff1f;如果我們還是僅僅去闡述我是如何使用的就顯得格外的蒼白無力。今天博主就來帶大家進一步認識我們的 async 和…

研一寒假02-指針_new分配內存_使用new來創建動態數組_使用動態數組_使用delete來釋放new分配的內存...

#---------------------------------指針-----------------------------------# #include <iostream> int main(){ using namespace std; /* 指針引入 */ int updates 6; //聲明一個變量 int* p_updates; //聲明一個指針p_updates,該指針指向一個地址 p_updates&upd…

利用Windows內置工具winsat測試硬盤速度(SSD機械盤對比)

利用Windows內置工具winsat測試硬盤速度&#xff08;SSD&機械盤對比&#xff09; 以下是紅色內容是在命令行運行&#xff1a; C:\Users\Administrator>winsat diskWindows 系統評估工具> 正在運行: 功能枚舉 > 運行時間 00:00:00.00> 正在運行: 存儲評估 -seq …

我為何在 CSDN 樂在其中

文章目錄寫在前面成為博主究竟能得到什么&#xff1f;內在提升耀眼名片豐富眼界提升知名度博客》變現寫在最后寫在前面 各位伙伴大家好&#xff0c;我是幾何心涼&#xff0c;一位不是很大的也不是很小的博主&#xff0c;今天想要跟大家去聊一些比較實在的內容&#xff1b;大家能…

EFLinq查詢

1、無參數查詢var model db.Database.SqlQuery<UserInfo>("select* from UserInfoes ").ToList(); 2、有參查詢var model db.Database.SqlQuery<UserInfo>("select* from UserInfoes where idID ",new SqlParameter("ID",id)).ToL…

實現div可以調整高度(div實現resize)

實現div可以調整高度&#xff08;div實現resize&#xff09; 一、div 實現resize&#xff08;類似textarea&#xff09; 代碼如下&#xff1a; <!DOCTYPE html> <html><head><title>div實現textarea效果</title><style>#textarea {height:…

10分鐘設置免費遠程桌面

文章目錄前言遠程桌面設置教程啟動Amazon Lightsail實例配置遠程桌面啟動遠程桌面使用遠程桌面前言 “你見過洛杉磯凌晨4點的樣子嗎&#xff1f;” 沒有也沒關系&#xff0c;你可以輕松配置一臺位于洛杉磯的免費遠程桌面。 利用Amazon全球可用區&#xff0c;甚至可以在世界各…

樹莓派-開啟spi

1. sudo raspi-config #進入樹莓派配置頁 2. #進入每5項&#xff0c;進入啟用spi即可 轉載于:https://www.cnblogs.com/lobin/p/10459076.html

Lucene全文檢索過程

1. 索引過程&#xff1a; 1) 有一系列被索引文件 2) 被索引文件經過語法分析和語言處理形成一系列詞(Term)。 3) 經過索引創建形成詞典和反向索引表。 4) 通過索引存儲將索引寫入硬盤。 2. 搜索過程&#xff1a; 1) 用戶輸入查詢語句。 2) 對查詢語句經過語法分析和語言分析得到…