轉自:http://blog.csdn.net/tulituqi/article/details/7984642
一、變量的聲明
1、變量標識符
每個變量都可以用 變量標識符{變量名} 來進行表示,變量標識符在之前用戶關鍵字的地方介紹了一下,Scalar變量用 $ 作為標識符,List型變量用 @ 作為標識符,不過這只能作為一個初步的區分,因為同樣在之前的文章里,大家應該也看到了,使用$ 的變量,實際上也可以在接收List值后轉化成List變量。轉化的內容會在List變量里介紹。
2、變量聲明
其實這里沒有什么特別的變量聲明,因為RF底層是Python,所以他的語法也有些類似,變量不需要特定聲明,只要有初始化賦值即可使用。
如果硬要說有聲明,那可以把我們在TestSuite下面手動添加的變量理解為聲明吧。比如我們可以在TestSuite上點右鍵或者在Edit區點Add Scalar或Add List來新增變量。
實際上也可以看做另一種形式的變量賦值,一般相當於使用Set Variable進行初始化賦值。
3、變量賦值
賦值也是有幾種的,根據自己的需求進行處理吧。
1)Set 賦值
通常這種方式主要使用Set Variable或類似的使用了Set的關鍵字對變量進行賦值。例如:
2)Get 賦值
主要用於返回值上,包括系統關鍵字的返回值和用戶關鍵字的返回值(從廣義上說,Set那個也是返回值),例如:
之前的用戶關鍵字里也有很多例子。
3)運行時賦值
詳見流程與數據分離最后一篇,使用小v 的argument。
特別注意:如果一個變量沒有經過賦值,使用時會報錯的。
4、變量的作用域
通常情況下,每個變量默認都是局部變量。
一個case里的變量,作用域在這個case內部;
一個userkeyword里的變量,作用域在這個userkeyword內部;
一個文件型suite里的變量,作用域在這個suite內部,所有下面的case也都可以使用。
一個目錄型suite里的變量,作用域在這個目錄內,他下面的文件型suite是無法使用的,所以一般在目錄下新增變量沒有太大意義。
作用域是可以修改的,即通過一些系統關鍵字,對變量進行作用域的設定,常用的關鍵字有:
Set Global Variable ——設定全局級變量
Set Suite Variable ——設定suite級變量
Set Test Variable ——設定case級變量
二、變量的使用
其實使用變量我覺得不需要說太多了,變量的賦值可以看一下用戶關鍵字的返回值部分,里面的單個返回值和多個返回值其實就是給單個變量賦值和多個變量賦值的例子了。
這里再列幾種之前沒有寫過的例子吧。
1、在判斷中使用
例如這樣寫,在第二行的判斷中可以直接寫判斷條件,現在的條件成立,於是運行結果如下:
2、字符串使用
如果想把變量作為一個字符串的一部分,可以直接這樣寫
運行結果如下:
實際上默認情況下RF里的變量都是字符型的,並且兩個字符串連接不要加什么符號,直接連起來就行了。
如果你寫成aaa+${text}bbb,最終結果就是aaa+123bbb,他會把你寫的任何內容都當作字符串的。
3、參與運算
看了上面的例子之后,可能有人說我想用123作為數值進行計算該怎么用。
這里要用到一個關鍵字Evaluate。先看個例子:
運行結果如下:
他的作用是可以讓你加載Python的一些庫,依賴於Python的語法,相當於直接運行對應的Python語句得到結果。
像上面的例子沒有加載庫,因為加減乘除這些是Python基本庫就有的。下面放一個加載Python庫的,如下圖,他加載了random和sys兩個庫,並使用相應的語句生成一個隨機數。
運行結果:
具體可以參考一下RF的userguide文檔中BuiltIn部分。
