持续补充中

4.0正式版发布于2021年3月11日,后面的4.0.x都是修复BUG的版本,建议升级到4.0.x的正式版
4.0版本对几个非常不友好的函数进行了改进支持

FOR嵌套循环

FOR嵌套循环终于得到了支持
之前写多个循环需要分为两个关键字,去组合嵌套
现在不需要了

*** Test Cases ***
class_forend
    [Documentation]    for嵌套测试
    @{rows}    Create List    a    b    c    d
    @{cells}    Create List    1    2    3    4
    FOR    ${row}    IN    @{rows}
        FOR    ${cell}    IN RANGE    ${cell_len}
            Log    ${row}${cell}
        END
    END

输出结果:
INFO : a0
INFO : a1
INFO : a2
INFO : a3
INFO : b0
INFO : b1
INFO : b2
INFO : b3
INFO : c0
INFO : c1
INFO : c2
INFO : c3
INFO : d0
INFO : d1
INFO : d2
INFO : d3

IF/ELSE/END判断

RF之前的IF语法是严格限制为某个场景下使用的,比如满足条件下为变量赋值需要使用 Set Variable If,
运算需要使用Run Keyword If等等,现在一个IF-ELSE-END就能满足(当然,ELSE-IF也得到了支持)

class_ifelse
    [Documentation]    新的if语法
    ${rc}   Set Variable    1
    IF    ${rc} > 0
        Log    ${rc}>0
    ELSE IF   ${rc} < 0
        Log    ${rc}<0
    ELES
        Log    ${rc}=0
    END
输出结果:
INFO : 1>0

FOR循环和IF判断支持多重嵌套

for循环里可以嵌套if循环,if循环可以嵌套for循环。在RF4.0之前,如果想在FOR循环里嵌套IF循环,需要把IF定义为关键字,再给FOR循环去调用。现在这个严格的语法限制移除了

class_004
    [Documentation]    for/if嵌套
    ${X_axis}    Create List    1    2    3    4    6    5
    ${Z_axis}    Set Variable    3
    FOR    ${x_axid_cell}    IN    @{X_axis}
        IF    ${Z_axis}==${x_axid_cell}
            Log    ${Z_axis}
        END
    END
 
输出结果:
INFO : 3

数组、字典支持@{var}[item]形式调用

这个特性其实3.2版本就引入了,我在3.2版本下测试时是可以运行通过的,4.0也正常
4.0版本恢复使用@{var}[items]、&{var}[items],此前3.2版本这么用会抛出警告,都使用${var}[items]

class_005
    [Documentation]    
    ${var}    Evaluate    {'items': ['a', 'b', 'c']}
    FOR    ${item}    IN    ${var}[items]
        Log    ${item}
    END
输出结果:
INFO : a
INFO : b
INFO : c