美文网首页
RF 关键字、变量与循环

RF 关键字、变量与循环

作者: 清水秋香 | 来源:发表于2020-04-07 13:57 被阅读0次

关键字的使用
RF的能力是由关键字提供的,所以我们必须对RF的常用关键字有个了解,这样才能把RF用好
常用的RF关键字就在RF的标准库中
http://robotframework.org

image.png
其中Builitin是标准库中的内置库
Shortcuts Keywords就是关键字目录表,具体介绍每个关键字

关键字参数
第一列是关键字的名称
第2列是关键字的参数

image.png

常用关键字

  • Should Be Equal
  • Should Contain
  • set variable
  • log
  • log to console
  • sleep
  • Convert To Integer
  • Convert To Number

set variable 只支持赋值一个字符串给变量,如果我们想赋值一个整数,或者浮点数,需要用Convert To integer Convert To Number
如果我们想把一个数字作为关键字的参数,可以使用数字变量

  • log to console ${32}
  • log to console ${32+4*6}
  • Should Be Equal/Should Not Be Equal
  • Should Contain/Should Not Contain
  • Should Start With/Should Not Start With
  • Should End With/Should Not End With
  • 一个特殊的关键字Should Be True
    他的参数本身是python表达式语句,RF会直接用python解释器的eval函数,来解释这个参数表达式。

Should be true 与python两个区别:
1.变量前面加个$符号
2.不能中间有多于两个空格

认识测试库
通常,关键字是由测试哭提供的。其实测试库就是python模块文件。
关键字就是python库里面的函数和类的方法。
RF本事就是python程序,所以它的寻找库文件的原理和python是一样的。最终是通过sys.path
我们在哪个目录下面运行robot,哪个目录就是当前工作目录当前工作目录就是在sys.path里面的。所以我们房子啊当前目录下面的python模块文件,直接就能被找到

RF脚本使用函数名、方法名、大小写不敏感

库的导入
要使用测试哭提供的关键字,我们必须要声明导入库当然一个特例:除了RF的builtin库的关键字,不需要声明。
库的名称在RF里面是大小写敏感的。
有的库,在导入的时候,可以提供参数,比如SeleniumLIbrary
http://fobotframework.org/SeleniumLibrary/SeleniumLibrary.html
importing 链接,点开,有参数就是导入可以设置的参数
timeout=5.0
run_on_faullure=Capture Page Screenshot
screenshot_root_directory=None
其实这些导入时带参数的库,对应的测试库都是用类实现的
这些参数就是类的初始化方法init里面的参数

变量的用法
RF中的变量,实质上就是一个python变量,他只想一个python对象。
所以RF的变量对应的是什么Python对象,他就是什么类型的对象

  • Scalar方式(Scalar Variable)
    putting用法,就是用${var}的方式来表示
    特点:当我们把变量以scalar方式传递给关键字作为参数的时候,就是直接把它对应的python对象传递给关键字对应的函数
  • List (List Variable)
    如果RF变量实际指向一个python list对象
    我们还可以把它以list方式传递给关键字作为参数
    List方式使用@{var}的方式来表示,也把这种方式表示的变量叫做list变量
    List方式,实际上会展开其List中的每个元素,作为多个参数传入
  • Dictionary方式(Dictionary Variable)
    如果RF变量实际指向一个PythonDict对象,我们还可以把它以dict方式传递给关键字作为参数,Dictionary方式使用&{var}的方式来表示 ,也罢这种方式表示的变量叫做Dictionary变量。dictionary方式,实际上会展开其Dict中的每个元素,作为多个参数传入。
  • 访问环境变量
    RF中可以用%{env_var} 方式直接访问一个环境变量比如
    printarg %{path}

循环
RF用:FOR来实现循环,没有while循环
对应的文档解释在这里
http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#for-loops
:FOR \ 为旧语法 、
FOR END为新语法

    ${list}  create list  a  b  c  d

    :FOR  ${one}  in  @{list}
    \  log to console  ${one}
    \  log to console  -----------
    log to console  循环外


    #使用$符号会把列表当成一个整体所以要写@
    FOR  ${one}  in  @{list}
        log to console  ${one}
        log to console  ------------------
    END
        log to console  循环外面

    #切记in range 空一个空格否则会当成字符串打印
    FOR  ${i}  in range  10
        log to console  ${i}
    END
  • 旧语法:FOR冒号不能忘了
  • 如果后面的变量是个list一定要写成@的形式,而不是$的形式
  • for循环体内的语句,要锁进一个单元格,如果是纯文本文件,连续的空格是无法表示多个单元格的,RF会只当成一个,所以前面还要有一个反斜杠转义,表示这边有一个空的单元格

range用法
python中,我们常常用到range方法,RF也有类似的支持
http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#id578

FOR  ${i}  IN RANGE  99
        ${score}  get value from user  请输入成绩
        run keyword if  $score == 'count'  continue for loop
        continue for loop if  $score == 'count'
         exit for loop if  $score == 'over'
        run keyword if  int(${score}) >=60  log to console  及格了
        ...  log to console  123
        ...     ELSE    log to console  不及格
END

相关文章

  • RF 关键字、变量与循环

    关键字的使用RF的能力是由关键字提供的,所以我们必须对RF的常用关键字有个了解,这样才能把RF用好常用的RF关键字...

  • C语言——第二次笔记

    学习内容全局变量与局部变量switch语句for循环while循环Break与Continue关键字printf与...

  • C语言相关使用

    学习内容全局变量与局部变量switch语句for循环while循环Break与Continue关键字printf与...

  • 小公式语法

    关键字 变量声明 变量赋值 if 语句 for循环 函数声明

  • Robot Framework07-RF变量和循环

    不管做什么操作,变量和循环都是必不可少的。本篇将对RF变量和循环进行展开讲解,主要包括“变量的三种形态Scalar...

  • Robot Framework之for控制流语句

    一、 For循环 函数结构范例: :For 变量 IN 序列(or 列表) 关键字 参数值 :For 变量 IN ...

  • RF 条件判断、初始化与清除

    条件判断RF里面除了循环以外,另一个流程控制的基本功能就是条件判断RF中通常用Run Keyword if 关键字...

  • Robot Framework 关键字、

    到哪里查找关键字 RF 的能力是由关键字提供的,所以,我们必须对 RF 的常用关键字有个了解,这样才能把 RF 用...

  • 循环控制: for循环1

    for 循环 语法:def for_demo():# for (关键字)# i(变量名,代表循环次数)# in(关...

  • 2.3volatile关键字

    关键字volatile的主要作用是使变量在多个线程间可见。 关键字volatile与死循环 如果不是在多继承的情况...

网友评论

      本文标题:RF 关键字、变量与循环

      本文链接:https://www.haomeiwen.com/subject/zhbgphtx.html