Robot Framework07-RF變量和循環(huán)

不管做什么操作,變量和循環(huán)都是必不可少的。本篇將對RF變量和循環(huán)進(jìn)行展開講解,主要包括“變量的三種形態(tài)Scalar,List,Dictionary以及for循環(huán)的基本使用等”寻拂。希望感興趣的小伙伴可以堅持看下去同時歡迎提出寶貴的意見讓我們一起進(jìn)步固棚!

01:本節(jié)內(nèi)容介紹
變量和循環(huán)思維導(dǎo)圖.png
02:RF變量概述

1)概述:RF中的變量實(shí)質(zhì)上就是一個Python變量,它指向一個Python對象落剪。即RF變量對應(yīng)的是什么Python對象,它就是什么類型的對象

2)類型:Scalar , List , Dictionary

對應(yīng)函數(shù)片段如下:
def printarg(*args,**kwargs):
    if len(args) == 0:
        print('** no    args **')
    else:
        print('** args   are **')
        print('----------------')
        for one in args:
            print(repr(one))
        print('----------------')
    if len(kwargs) == 0:
        print('** no  kwargs **')
    else:
        print('** kwargs are **')
        print('----------------')
        for k,v in kwargs.items():
            print(repr(k) + ':' + repr(v))
        print('----------------')
def returnlist():
    return [1,2,3]
def returndict():
    return {
        'ele1' : 'lily',
        'ele2' : 'mike'
    }
03:標(biāo)量變量(Scalar variables)

1)變量概述:傳遞python對象,打印變量具體的值

2)表示方法:用${var}的方式來表示

3)注意事項:變量以Scalar方式傳遞給關(guān)鍵字作為參數(shù)的時候,就是直接把它所對應(yīng)的Python對象傳遞給關(guān)鍵字對應(yīng)的函數(shù)

*** Settings ***
Library  mylib3
*** Test Cases ***
case 01:
    ${list}     returnlist
    printarg    hello   ${list}
運(yùn)行結(jié)果如下所示:
** args   are **
----------------
'hello'
[1, 2, 3]
----------------
** no kwargs **
04:列表變量(List variables)

1)變量概述:RF變量實(shí)際指向一個Python List對象,展開其List中的每個元素,作為多個參數(shù)傳入

2)表示方法:用@{var}的方式來表示

3)注意事項:定義參數(shù)的時候用“$”,傳參的時候用“@”,傳遞的參數(shù)還是List展開形式。即變量的行為與如何定義無關(guān),只與如何傳遞參數(shù)的形式有關(guān)

*** Settings ***
Library  mylib3
*** Test Cases ***
case 02:
    @{list}     returnlist
    printarg    @{list}
運(yùn)行結(jié)果如下所示:
** args   are **
----------------
1
2
3
----------------
** no  kwargs **

4)獲取列表中的某個值:利用下標(biāo)

*** Settings ***
Library  mylib3
*** Test Cases ***
case 03:
    @{list}     returnlist
    printarg    @{list}[0]  #方法1
    printarg    ${list[0]}  #方法2
運(yùn)行結(jié)果如下所示:
** args   are **
----------------
1
----------------
** no  kwargs **
05:字典變量(Dict variables)

1)變量概述:RF變量實(shí)際指向一個Python Dict 對象,展開其Dict中的每個元素,作為多個參數(shù)傳入

2)表示方法:用&{var}的方式來表示

3)注意事項:定義參數(shù)的時候用“$”,傳參的時候用“&”,傳遞的參數(shù)還是Dict展開形式。即變量的行為與如何定義無關(guān),只與如何傳遞參數(shù)的形式有關(guān)

*** Settings ***
Library  mylib3
*** Test Cases ***
case 04:
 &{dict}     returndict
 printarg    &{dict}
運(yùn)行結(jié)果如下所示:
** no    args **
** kwargs are **
----------------
'ele1':'lily'
'ele2':'mike'
----------------

4)獲取字典中的某個值:利用下標(biāo)

*** Settings ***
Library  mylib3
*** Test Cases ***
case 05:
    @{list}     returnlist
    printarg    &{dict}[ele1]     #方法1
     printarg    ${dict['ele1']}  #方法2
運(yùn)行結(jié)果如下所示:
** args   are **
----------------
'lily'
----------------
** no  kwargs **
06:循環(huán)(for)

1)在RF中只有for循環(huán),沒有while循環(huán)福也。

2)如何獲取不確定次數(shù)的循環(huán):將for循環(huán)次數(shù)加到足夠大

3)注意事項:

  • :FOR前面的冒號不能忘
  • 如果后面的是變量是個list, 一定要寫成@的形式,而不是$的形式
*** Settings ***
Library  mylib3
*** Test Cases ***
case 06:
    #先執(zhí)行里面的循環(huán)3次,最后再執(zhí)行一次外循環(huán)的內(nèi)容
    ${var}  returnlist
    FOR   ${num}   IN     @{var}
        log to console  ${\n}${num}
        log to console  第${num}行
     END
    log to console  循環(huán)外面

4)獲取指定循環(huán)次數(shù):IN RANGE中間只有一個空格,如果寫2個空格會把range當(dāng)做一個參數(shù)

*** Settings ***
*** Test Cases ***
case 07:
      # 執(zhí)行里面的循環(huán)10次,最后再執(zhí)行一次外循環(huán)的內(nèi)容
      FOR   ${num}   IN RANGE  10
        log to console  ${\n}${num}
        log to console  第${num}行
     END
    log to console  循環(huán)外面
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市攀圈,隨后出現(xiàn)的幾起案子暴凑,更是在濱河造成了極大的恐慌,老刑警劉巖赘来,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件现喳,死亡現(xiàn)場離奇詭異,居然都是意外死亡撕捍,警方通過查閱死者的電腦和手機(jī)拿穴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來忧风,“玉大人,你說我怎么就攤上這事球凰∈ㄍ龋” “怎么了?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵呕诉,是天一觀的道長缘厢。 經(jīng)常有香客問我,道長甩挫,這世上最難降的妖魔是什么贴硫? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮伊者,結(jié)果婚禮上英遭,老公的妹妹穿的比我還像新娘。我一直安慰自己亦渗,他們只是感情好挖诸,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著法精,像睡著了一般多律。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上搂蜓,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天狼荞,我揣著相機(jī)與錄音,去河邊找鬼帮碰。 笑死相味,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的收毫。 我是一名探鬼主播攻走,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼殷勘,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了昔搂?” 一聲冷哼從身側(cè)響起玲销,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎摘符,沒想到半個月后贤斜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡逛裤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年瘩绒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片带族。...
    茶點(diǎn)故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡锁荔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蝙砌,到底是詐尸還是另有隱情阳堕,我是刑警寧澤,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布择克,位于F島的核電站恬总,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏肚邢。R本人自食惡果不足惜壹堰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望骡湖。 院中可真熱鬧贱纠,春花似錦、人聲如沸勺鸦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽换途。三九已至懊渡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間军拟,已是汗流浹背剃执。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留懈息,地道東北人肾档。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親怒见。 傳聞我的和親對象是個殘疾皇子俗慈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評論 2 351