• RF之关键字、变量、循环-2


    关键字的使用:

           RF的能力是由关键字提供的,所以,我们必须对RF的常用关键字有个了解 。

           最常用的关键字就在RF的关键字中。http://robotframework.org

           其中Builtin是标准库中的内置库,Shotcuts Keywords就是关键字目录表。

    关键字参数:

           Should Be Equal  是否相等

           Should Be True    特殊关键字  RF会直接用python解释器的eval函数,来解释这个参数表达式

               *注意*:should be true和python的两个区别:1- 变量前面加个$符号 2- 不能中间有多于两个空格

           Should Contains  是否包含

           set Variable    设置变量        只支持赋值一个字符串给变量,若想赋值一个整数或浮点数,需用到Convert To Interger 或Convert To Number

           log    日志

           log to console  打印到控制台

           sleep  睡眠

    认识测试库:

           通常,关键字是由测试库提供的,其实测试库就是python模块文件。关键字就是python库里面的函数和类的方法。

           RF本身就是个python程序,所以它的寻找库文件和python是一样的,最终是通过sys.path。

           我们在哪个目录下面运行robot,那个目录就是当前工作目录。当前工作目录就是在sys.path里面的。所以我们放在当前目录下的python模块文件,直接就能被找到。

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

    库的导入:

           要使用测试库提供的关键字,我们必须要申明导入库。当然RF的Builtin库的关键字不需要申明。

           库的名称在RF里是大小写敏感的。

           有的库,在导入时可以提供参数。其实这些导入带参数的库,对应的测试库都是用类实现的。这些参数就是类的初始化方法__init__里面的参数。如下:

           Library  | SeleniumLibrary  |  15

           Library  | SeleniumLibrary  |  0  |  15  |

           Library  | SeleniumLibrary  |  5  |  run_on_failure=Log Source

    变量的用法:

           RF中的变量,实质上就是一个Python变量,它指向一个python 对象。所以RF变量对应的是什么python 对象,它就是什么类型的变量。

           ① Scalar方式 

               普通用法就是:${var}来表示

               特点是:当我们把变量以Scalar方式传递给关键字作为参数时,就是直接把它对应的python对象传递给关键字对应的函数。

           ② List方式

               如果RF变量实际指向一个Python List对象,可以把它以List方式传递给关键字作为参数。

               List方式 是用@{var}的方式来表示。这种方式表示的变量叫做List变量。

               List方式,实际上会展开其List中的每个元素,作为多个参数传入。

          ③ Dictionary方式

               如果RF变量实际指向一个Python Dict对象,还可以把它以Dict方式传递给关键字作为参数。

               Dictionary方式是用&{var}的方式来表示

               Dictionary方式,实际上会展开其Dict中的每个元素,作为多个参数传入。

    访问环境变量:

           RF中可以用%{env_var}方式直接访问一个环境变量,比如   printarg        %{path}

    循环:

           RF用:FOR来实现循环,没有while循环;

           遍历List变量;

           IN RANGE用法;

           注意::FOR 前面的冒号不要忘记了;

                       如果后面的变量是个list,一定要写成@的形式,而不是$的形式;

                       for循环体内的语句,要缩进一个单元格,如果是纯文本文件,连续的空格是无法表示多个单元格的,RF只会当成一个。所以前面还要有一个反斜杠转义,表示这边有一个空的单元格。

           range用法:使用in range 中间只能是一个空格 他们是一个组合  如下:

           [Documentation]     打印0-9的数字

           :for    ${index}    IN RANGE   10      注意:IN RANGE 必须大写,才会进行遍历

                Log To Console     ${index}

  • 相关阅读:
    python的WeakKeyDictionary类和weakref模块的其他函数
    用python做的windows和linx文件夹同步。解决自动同步、加快传输大量小文件的速度、更丰富的文件上传过滤设置。
    超牛 猴子补丁,修改python内置的print
    python编程范式培训文档,主要是结合4种代码和,对oop和面向过程编程区别和oop转化公式培训。
    oop的方式来操纵时间
    使用python对文件夹里面所有代码行数进行统计。
    DeBug Python代码全靠print函数?换用这个一天2K+Star的工具吧,改进版
    一个有界任务队列的python thradpoolexcutor, 直接捕获错误日志
    python flask多个app应用组合
    数据库笔试面试题库(Oracle、MySQL等)
  • 原文地址:https://www.cnblogs.com/peipei-Study/p/12067784.html
Copyright © 2020-2023  润新知