rf中的条件判断与循环

条件判断

  run keyword if condition  name  *args

  ... ELSE IF conditon   name   *args

  ...ELSE   name  *args

  condition:python表达式,条件表达式参数 传给python中的eval()函数

  name:条件满足时执行关键字,只能执行一个关键字 

  *args:关键字name的参数

  注意:1、ELSE 必须要大写 且是新版本才有的语法,老语法是 run keyword unless(可单独使用)

   2、RF中解决太长的问题,可以一行前面加 三个点的省略号,在测试用例中,一行的省略号前面必须留有一个以上的空单元格一行的省略号前面必须留有一个以上的空单元格

  例子:

  ${num1} get value from user 请输入第一个数字 5
  ${num2} get value from user 请输入第二个数字 6
  run keyword if int(${num1}) > int(${num2}) log to console ${num1} > ${num2}
  ... ELSE IF int(${num1}) < int(${num2}) log to console ${num1} < ${num2}
  ... ELSE log to console ${num1} == ${num2}

  run keyword unless使用(如果条件不满足则执行关键字
  run keyword unless 1 == 2 log to console 1 != 2  结果会输出 1 != 2

循环语句

  RF中循环只有FOR循环

  Exit For Loop 关键字实现break功能

  Continue For Loop 关键字实现continue 功能,

  也可以使用 等价的关键字Continue For Loop If    Exit For Loop If

  想实现while的功能需要使用大Range

  例子:

    ${listvar1} create list 1 2 3
    # 老语法
    # 如果后面的变量是个list, 一定要写成 @的形式,而不是$的形式
    :FOR ${var} IN @{listvar1}
       log to console ${var}
    log to console 循环外面

    # 新语法
    FOR ${var} IN @{listvar1}
      log to console ${var}
    END
    log to console 循环外面

Range用法

  注意:IN RANGE之间只能有一个空格
  FOR ${var} IN RANGE 5
    log to console ${var}
  END
  # 指定起止范围,不包括最后一个元素
  FOR ${var} IN RANGE 1 5
    log to console ${var}  # 打印1 2 3 4
  END
  # 指定步长
  FOR ${var} IN RANGE 1 5 2
    log to console ${var}  # 打印1 3
  END

  

  

原文地址:https://www.cnblogs.com/aiyumo/p/11949545.html