Robot Framework4.0新特性(持续补充)
持续补充中
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
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭