RobotFrameWork常用语法ing

168 阅读1分钟

1. 命名空间

比如我们想用python生成字典,可能会这样写

image.png 但是运行报错:

image.png ${Dict_2}python变量key识别为字符串'key', 为了解决这个问题,可以使用RF的命名空间:

image.png

image.png

2. RF 字典

  • 访问字典变量的三种方式:
${Dict}[a]
${Dict['a']}
${Dict.a}

3. 关于RF单元格换行的问题

image.png

像这样赋值多了一个换行,单元格看起来高了一点,RF的log也是看不出差别,只有在比较时才能判断

image.png

4. RF中的IF判断总结

  • Set Variable If

image.png

用法:只能判断表达式的真假

  • IF

image.png

用法:既能判断表达式,又能判断真假值

  • Run Keyword If

image.png

用法:既能判断表达式,又能判断真假值, 同 IF

5. RF变量在表达式中注意事项

  • 变量替换

    当在表达式中使用变量时,变量的值会在表达式被评估之前被替换,对于数字字符串,这个不是问题,可以直接在表示式中使用:

${rc}  set variable  3
Should Be True  ${rc} > 0 and ${a}==0
${rc}  set variable  3
Should Be True  ${rc} > 0

但是字符串变量 就需要加上引号(特别的,如果字符串有多行或者包含引号,就要使用三个引号包裹):

${name} set variable  Robot
Should Be Equal  '${name}'  'Robot'
  • 特殊$variable

    Robot Framework 提供了一种特殊的变量语法 $variable,可以直接访问变量值而不进行字符串替换,这样可以避免上述问题。使用这种语法时,变量值会直接参与表达式计算,而不会被转换为字符串

IF   $status.upper() == 'PASS'
       Log  Passed
END

6. 布尔值的判断

又是我们想给关键字的入参传一个布尔值,但是RF会报传参类型错误

image.png

这是我们就会想到传入python的布尔值False

image.png

能够识别

image.png

需要注意的是,赋值要和python的布尔值一致,首字母大写,然后表达式中不能省略大括号

7. 在RF中使用对象

7.1 无参数实例化

py文件名需要跟类名一致

image.png

image.png

7.2 有参数实例化

py文件名需要跟类名一致

image.png

image.png

7.3 python表达式实例化

py文件名可以跟类名不一致

image.png

image.png

image.png

image.png