本來這講是準(zhǔn)備介紹List變量及其用法的,,不過寫了個(gè)開頭之后覺得還是要先把變量有關(guān)的內(nèi)容說一下,這樣后面再寫List變量的介紹就會(huì)省事一些,。 一,、變量的聲明1、變量標(biāo)識(shí)符每個(gè)變量都可以用 變量標(biāo)識(shí)符{變量名} 來進(jìn)行表示,,變量標(biāo)識(shí)符在之前用戶關(guān)鍵字的地方介紹了一下,,Scalar變量用 $ 作為標(biāo)識(shí)符,List型變量用 @ 作為標(biāo)識(shí)符,,不過這只能作為一個(gè)初步的區(qū)分,,因?yàn)橥瑯釉谥暗奈恼吕?,大家?yīng)該也看到了,使用$ 的變量,,實(shí)際上也可以在接收List值后轉(zhuǎn)化成List變量,。轉(zhuǎn)化的內(nèi)容會(huì)在List變量里介紹。
2,、變量聲明其實(shí)這里沒有什么特別的變量聲明,,因?yàn)镽F底層是Python,所以他的語法也有些類似,,變量不需要特定聲明,,只要有初始化賦值即可使用。 如果硬要說有聲明,,那可以把我們在TestSuite下面手動(dòng)添加的變量理解為聲明吧,。比如我們可以在TestSuite上點(diǎn)右鍵或者在Edit區(qū)點(diǎn)Add Scalar或Add List來新增變量。 實(shí)際上也可以看做另一種形式的變量賦值,,一般相當(dāng)于使用Set Variable進(jìn)行初始化賦值,。
3、變量賦值賦值也是有幾種的,,根據(jù)自己的需求進(jìn)行處理吧,。 1)Set 賦值通常這種方式主要使用Set Variable或類似的使用了Set的關(guān)鍵字對(duì)變量進(jìn)行賦值。例如: 2)Get 賦值主要用于返回值上,,包括系統(tǒng)關(guān)鍵字的返回值和用戶關(guān)鍵字的返回值(從廣義上說,,Set那個(gè)也是返回值),例如: 之前的用戶關(guān)鍵字里也有很多例子,。 3)運(yùn)行時(shí)賦值詳見流程與數(shù)據(jù)分離最后一篇,,使用小v 的argument。
特別注意:如果一個(gè)變量沒有經(jīng)過賦值,,使用時(shí)會(huì)報(bào)錯(cuò)的,。
4、變量的作用域通常情況下,,每個(gè)變量默認(rèn)都是局部變量,。 一個(gè)case里的變量,作用域在這個(gè)case內(nèi)部,; 一個(gè)userkeyword里的變量,,作用域在這個(gè)userkeyword內(nèi)部; 一個(gè)文件型suite里的變量,,作用域在這個(gè)suite內(nèi)部,,所有下面的case也都可以使用。 一個(gè)目錄型suite里的變量,,作用域在這個(gè)目錄內(nèi),,他下面的文件型suite是無法使用的,所以一般在目錄下新增變量沒有太大意義,。 作用域是可以修改的,,即通過一些系統(tǒng)關(guān)鍵字,對(duì)變量進(jìn)行作用域的設(shè)定,,常用的關(guān)鍵字有: Set Global Variable ——設(shè)定全局級(jí)變量 Set Suite Variable ——設(shè)定suite級(jí)變量 Set Test Variable ——設(shè)定case級(jí)變量
二,、變量的使用
其實(shí)使用變量我覺得不需要說太多了,變量的賦值可以看一下用戶關(guān)鍵字的返回值部分,,里面的單個(gè)返回值和多個(gè)返回值其實(shí)就是給單個(gè)變量賦值和多個(gè)變量賦值的例子了,。 這里再列幾種之前沒有寫過的例子吧。 1,、在判斷中使用例如這樣寫,,在第二行的判斷中可以直接寫判斷條件,現(xiàn)在的條件成立,,于是運(yùn)行結(jié)果如下:
2,、字符串使用如果想把變量作為一個(gè)字符串的一部分,可以直接這樣寫 運(yùn)行結(jié)果如下:
實(shí)際上默認(rèn)情況下RF里的變量都是字符型的,,并且兩個(gè)字符串連接不要加什么符號(hào),,直接連起來就行了。 如果你寫成aaa+${text}bbb,,最終結(jié)果就是aaa+123bbb,,他會(huì)把你寫的任何內(nèi)容都當(dāng)作字符串的。
3,、參與運(yùn)算看了上面的例子之后,,可能有人說我想用123作為數(shù)值進(jìn)行計(jì)算該怎么用。 這里要用到一個(gè)關(guān)鍵字Evaluate,。先看個(gè)例子: 運(yùn)行結(jié)果如下:
他的作用是可以讓你加載Python的一些庫,,依賴于Python的語法,相當(dāng)于直接運(yùn)行對(duì)應(yīng)的Python語句得到結(jié)果,。 像上面的例子沒有加載庫,,因?yàn)榧訙p乘除這些是Python基本庫就有的。下面放一個(gè)加載Python庫的,,如下圖,,他加載了random和sys兩個(gè)庫,并使用相應(yīng)的語句生成一個(gè)隨機(jī)數(shù),。 運(yùn)行結(jié)果: 具體可以參考一下RF的userguide文檔中BuiltIn部分,。
小結(jié)上面的很多內(nèi)容其實(shí)在前面的例子中也都碰到過,這里主要是把他們整理起來,,方便大家系統(tǒng)的了解,。 下一講將會(huì)說一下List變量的部分,,順帶再提一下dictionary變量。 |
|