關鍵字的使用:
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}