背景:记录一些在RF的使用中的小技巧,帮助提升代码的稳定性、精简代码。会持续更新~~
目录
技巧1:变量
RF中存在3种变量,可以通过变量标记的符号做简单区分:
- $:变量。可赋值为字符串类型、整型、布尔类型等
- @:列表。通过使用 Create List 关键字,可赋值列表
- &:字典。通过使用 Create Dictionary 关键字,可赋值字典
使用举例:
- $
${name} Set Variable zhangsan
${age} Set Variable ${20}
${note} Set Variable If '${name}'!='${None}' China
- @:注意循环变量i所在位置的不同
@{args} Create List a b c
${len} Get Length ${args}
:For ${i} IN RANGE ${len}
\ Log @{args}[${i}]
或
${args} Create List a b c
${len} Get Length ${args}
:For ${i} IN RANGE ${len}
\ Log ${args[${i}]}
- &
&{kargs} Create Dictionary a=1 b=2 c=3
Log ${kargs['a']}
技巧2:RF关键字中的可变参数
关键字
Test for KW
[Arguments] ${name} &{kargs}
${flag} ${msg} Run Keyword And Ignore Error Dictionary Should Contain Key ${kargs} add
Run Keyword If '${flag}'!='FAIL' Log ${kargs['add']}
... ELSE Log ${flag}
调用:
${name} Set Variable zhangsan
&{kargs} Create Dictionary add=China
Test for KW ${name} &{kargs}
技巧3:字符分割
${str_all} Set Variable ab,cd,12,34
@{str_list} Split String ${str_all} ,
${len} Get Length ${str_list}
:FOR ${i} IN RANGE ${len}
\ Log ${str_list[${i}]}
技巧4:对于异步接口或者重试的处理
关键字
User Is Created
[Arguments] ${name}
# 创建用户的过程
调用
${name} Set Variable zhangsan
Wait Until Keyword Succeeds 30 5 User Is Created ${name}
其中,30 表示超时时间,5 表示重试间隔。即每5秒执行一次关键字User Is Created,直到30秒超时(共执行6次)
技巧5:有错误仍然执行
${expect}:期望值
${act}:实际值
Run Keyword And Continue On Failure Should Be Equal As Strings ${expect} ${actual}
即使当实际值!=期望值时,后面的验证点也可以继续执行。不会因为该判定条件Fail就停止后面的执行步骤
${status} ${result} Run Keyword And Ignore Error keyword1 param1 param2
Run Keyword If '${status}'!='PASS' keyword2 paramA paramB
上述代码表示:如果keyword1执行失败,则status=Fail;当status!=PASS,则执行keyword2
技巧6:运算
这位作者总结得很好,这里引用一下:https://blog.csdn.net/mengfanbo123/article/details/10453693