RF 关键字、变量与循环

2020-04-07  本文已影响0人  清水秋香

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

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

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

image.png

常用关键字

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

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对象,他就是什么类型的对象

循环
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

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
上一篇 下一篇

猜你喜欢

热点阅读