Robotframework 入门教程(二)

== 变量 ==

RF用$,@,&分别表示标量,列表,和字典,对应的就是python中的sre,list和dict。RF中Variables用来创建变量。修改我们的demo.robot如下,对应于python的语法 var = “value”, list1 = [‘a’,’b’,’c’,var], dict1={‘key1’:’sf’, ‘key2’:list1}
*** Variables ***
${var1}          value
@{list1}           a    b    c    ${var1}
&{dict1}          key1=sf   key2=${list1}

*** Test Cases ***
First Case
    Log to console    ${var1}    
    Log to console    @{list1}    
    Log to console    &{dict1}  
 
Second Case
    ${res}    Evaluate    1+2+3
    Should Be Equal    ${res}    6

Third Case
    ${res}    Evaluate    'i'*3
    Length Should Be    ${res}

变量中可以引用其他变量的值。这次我们调用log to console关键字打印我们的变量。运行robot demo2.robot。得到结果如下

我们看到执行了第一行命令,打印var1的值value,第二行的时候报错了,因为list是个列表变量,通过@{list}进行引用的时候,实际上传递的是list中的元素,实际执行的是"Log to console      a    b    c    ${var1}”,传了4个参数进去,所以报错了。那我们想调用list本身时怎么办呢,用${list}。dict同理@{dict}是dict的key的每一个元素,&{dict}是dict中每一个item的遍历。修改testcase如下:
*** Test Cases ***
First Case
    Log to console    ${var1}    
    Log to console    ${list1}    
    Log to console    ${dict1}

再次执行robot demo2.robot。










访问列表中的元素,修改testcase如下:
*** Test Cases ***
First Case
    Log to console    ${var1}    
    Log to console    ${list1}[0]    
    Log to console    ${list1[0]}    
    Log to console    ${dict1}[‘key1']      
    Log to console    ${dict1[‘key1’]}
    Log to console    ${dict1.key1}

再次执行robot demo2.robot。
访问列表里的元素,和python的语法一样,中括号跟index就可以了。字典里的元素dict1[‘key1’]和dict1.key1是一样的。

因为RF中都是字符,传一些特殊的值就需要用内置的变量类似${6}的格式来使用,
常用的有${true},${false} ,${None} ,${null},${SPACE},${EMPTY}。

猜你喜欢

转载自blog.csdn.net/be5yond/article/details/54754954