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