RF之關鍵字、變量、循環-2


關鍵字的使用:

       RF的能力是由關鍵字提供的,所以,我們必須對RF的常用關鍵字有個了解 。

       最常用的關鍵字就在RF的關鍵字中。http://robotframework.org

       其中Builtin是標准庫中的內置庫,Shotcuts Keywords就是關鍵字目錄表。

關鍵字參數:

       Should Be Equal  是否相等

       Should Be True    特殊關鍵字  RF會直接用python解釋器的eval函數,來解釋這個參數表達式

           *注意*:should be true和python的兩個區別:1- 變量前面加個$符號 2- 不能中間有多於兩個空格

       Should Contains  是否包含

       set Variable    設置變量        只支持賦值一個字符串給變量,若想賦值一個整數或浮點數,需用到Convert To Interger 或Convert To Number

       log    日志

       log to console  打印到控制台

       sleep  睡眠

認識測試庫:

       通常,關鍵字是由測試庫提供的,其實測試庫就是python模塊文件。關鍵字就是python庫里面的函數和類的方法。

       RF本身就是個python程序,所以它的尋找庫文件和python是一樣的,最終是通過sys.path。

       我們在哪個目錄下面運行robot,那個目錄就是當前工作目錄。當前工作目錄就是在sys.path里面的。所以我們放在當前目錄下的python模塊文件,直接就能被找到。

       RF使用函數名、方法名、大小寫不敏感。

庫的導入:

       要使用測試庫提供的關鍵字,我們必須要申明導入庫。當然RF的Builtin庫的關鍵字不需要申明。

       庫的名稱在RF里是大小寫敏感的。

       有的庫,在導入時可以提供參數。其實這些導入帶參數的庫,對應的測試庫都是用類實現的。這些參數就是類的初始化方法__init__里面的參數。如下:

       Library  | SeleniumLibrary  |  15

       Library  | SeleniumLibrary  |  0  |  15  |

       Library  | SeleniumLibrary  |  5  |  run_on_failure=Log Source

變量的用法:

       RF中的變量,實質上就是一個Python變量,它指向一個python 對象。所以RF變量對應的是什么python 對象,它就是什么類型的變量。

       ① Scalar方式 

           普通用法就是:${var}來表示

           特點是:當我們把變量以Scalar方式傳遞給關鍵字作為參數時,就是直接把它對應的python對象傳遞給關鍵字對應的函數。

       ② List方式

           如果RF變量實際指向一個Python List對象,可以把它以List方式傳遞給關鍵字作為參數。

           List方式 是用@{var}的方式來表示。這種方式表示的變量叫做List變量。

           List方式,實際上會展開其List中的每個元素,作為多個參數傳入。

      ③ Dictionary方式

           如果RF變量實際指向一個Python Dict對象,還可以把它以Dict方式傳遞給關鍵字作為參數。

           Dictionary方式是用&{var}的方式來表示

           Dictionary方式,實際上會展開其Dict中的每個元素,作為多個參數傳入。

訪問環境變量:

       RF中可以用%{env_var}方式直接訪問一個環境變量,比如   printarg        %{path}

循環:

       RF用:FOR來實現循環,沒有while循環;

       遍歷List變量;

       IN RANGE用法;

       注意::FOR 前面的冒號不要忘記了;

                   如果后面的變量是個list,一定要寫成@的形式,而不是$的形式;

                   for循環體內的語句,要縮進一個單元格,如果是純文本文件,連續的空格是無法表示多個單元格的,RF只會當成一個。所以前面還要有一個反斜杠轉義,表示這邊有一個空的單元格。

       range用法:使用in range 中間只能是一個空格 他們是一個組合  如下:

       [Documentation]     打印0-9的數字

       :for    ${index}    IN RANGE   10      注意:IN RANGE 必須大寫,才會進行遍歷

       \     Log To Console     ${index}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM