RF——变量与常量

变量

1、变量标识符

每个变量都可以用变量标识符{变量名}来进行表示。

变量有2类,一类Scalar (单值变量);另一类 List。

Scalar 型变量用 “$ ”作为标识符,List型变量用 “@” 作为标识符。如:${var}, @{lvar}。

@标识的变量能够确认是List型变量,$标识的变量则取决于它的变量名或者变量值。

2、变量声明

RF没有什么特别的变量声明,不需要做特定声明,只要有初始化赋值即可使用。

在TestSuite下面手动添加的变量,理解为声明。

在TestSuite上鼠标右键,或是在Edit区单击 “Add Scalar” 或是 “Add List”按钮来新增变量。

3、变量的作用域

每个变量默认都是局部变量,在默认情况下,这些变量的作用域为:

  1. 一个case里的变量,作用域在这个case内部
  2. 一个userkeyword里的变量,作用域在这个userkeyword内部
  3. 一个文件型suite里的变量,作用域在这个suite内部,下边所有的case也都使用
  4. 一个目录型suite里的变量,作用域在这个目录内,仅适用于目录,它下边文件型的suite是无法使用的,一般在目录下新增变量没有太大意义。

改变变量的作用域,通过一些关键字处理,常用的关键字有:

  1. Set Global Variable 为设定全局级变量
  2. Set Suite Variable 为设定File Suite级变量
  3. Set Test Variable 为设定Case级变量

常量

常量有环境变量、数值常量、特殊字符常量、系统保留变量。其中,环境变量的标识符为 “ % ”, 其他几个常量的标识符和Scalar相同,都是 “$”

1、环境变量

无论是在Windows操作系统,还是Mac操作系统,都有自己的环境变量,定义方式和在自己的命令行里使用的方式不同。

但是在RF里,都统一用标识符 “%” 来使用,标记环境变量。

输出:

注:test case名称都用英文标识,才能在工作区查看打印结果。

2、数值变量

在RIDE里,所有的字符都会被当作字符串,即使变量是数值,默认也是以字符串形式存在。若是以数值方式存在,就可以用到数值常量。

数值2.6 ,写成 ${2.6}

输出

定义一个List变量,存放变量元素,${2.6}赋值就是以数值常量来赋值了,2.6、5 数值,在数值运算时,就会被强制转换成unicode字符串 u'2.6' u'5'

3、特殊字符常量和系统保留常量

查看常量的方法:淡季一个空白单元格,有光标闪烁,进入编辑状态,按 ”Ctrl+Alt+空格“ 组合键,就可以查看特殊字符常量和系统保留变量。

特殊字符常量有:${/} 、${:} 、${EMPTY} 、${False} 、${None} 、${null}、${SPACE}、${True},其余都是系统环境变量。

 特殊字符常量
    log    ${/}    # \
    log    ${:}    # ;
    log    ${EMPTY}    # 空
    log    ${SPACE}    # 空
    log    ${False}    # FALSE
    log    ${True}    # TRUE
    log    ${null}    # None
    log    ${None}    # Non

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
robotframework——变量⽂件 变量⽂件 何为变量⽂件? 何为变量⽂件? 变量⽂件包含了测试数据变量。虽然变量可以通过变量表格创建, 或者通过命令⾏设置, 不过这些⽅法有所局限, ⽽变量⽂件可以动态地创建任意类型的变量变量⽂件⼀般由Python模块实现, 有两种不同的⽅法来创建变量: 1、⽅法⼀:直接创建变量 变量就是模块的属性。最简单的情形下, 这种语法⼏乎不需要真正的编程。 例如, MY_VAR = 'my value' 就创建了变量 ${MY_VAR}, 后⾯是变量的值。 当使⽤变量⽂件时, 它们像Python的模块⼀样被导⼊, 其的⾮下划线(_)开头的全局属性均被视作变量变量的名字是不区分⼤⼩写的, 通常推荐⼤写字母⽤作全局变量和属性。 1.1 ⽰例1: 导⼊变量⽂件 myvar1.py MY_VAR = 'my value' my_name='test' VARIABLE = "An example string" ANOTHER_VARIABLE = "This is pretty easy!" INTEGER = 42 STRINGS = ["one", "two", "kolme", "four"] NUMBERS = [1, INTEGER, 3.14] MAPPING = {"one": 1, "two": 2, "three": 3} rf⽤例 test2: 执⾏结果:pass 2.2 ⽰例2,使⽤下⾯的⽅式在变量创建 : 2.3 ⽰例3,动态创建变量: 因为变量⽂件就是真正的编程语⾔, 其⼏乎可以包含任意的代码逻辑来设置变量 2.4 ⽰例4,与⽰例3类似,真实的代码的数据可以是来⾃数据库, 或者外部⽂件, 甚⾄是要求⽤户输⼊。 rf⽤例: 执⾏结果pass: 选择性的包含变量 选择性的包含变量 当 Robot Framework 处理变量⽂件时, 这些⽂件(模块)所有的属性只要不是以下划线开头, 都会被视作变量, 这其甚⾄包括函数或类, 不管是在⽂件创建的还是从其它模块 导⼊的。例如, 上⾯最后⼀个例⼦除了 ${AREA1} 和 ${AREA2} 这两个我们预期的变量外, 最终还包含了 ${math} 和 ${get_area} 这两个变量。 虽然通常情况下这些额外的变量不会造成什么问题, 但是它们有可能会⽆意覆盖其它的变量名, 由此引发的错误将难以定位。推荐的做法是使⽤特殊属性 __all__, 将要作为变量暴 露的属性名放在列表赋值给它。 rf⽤例: 执⾏结果fail: 2、⽅法⼆: 、⽅法⼆:通过特殊函数获取变量 通过特殊函数获取变量 变量⽂件可以包含⼀个特殊的函数 get_variables (或者 getVariables), 该函数将变量按字典的形式返回。该函数还可以接受参数, 所以这种⽅法⾮常灵活。 如果这个函数存在, Robot Framework将调⽤该函数, 并且预期返回的结果是Python的字典类型或者Java的 Map 类型, 其变量的名称是键, ⽽值就是变量的值。 2.1 ⽰例1: rf⽤例: 执⾏⽅法⼀: 执⾏⽅法⼆: 执⾏⽅法三: 2.2 ⽰例2:演⽰变量⽂件如何使⽤参数 在更真实的场景, 这些参数可能是⼀个⽤来读取参数的外部⽂件的路径, 或者是数据库的地址。: get_variables 可以接受参数, 这样可以很⽅便的改变实际要创建什么样的变量。参数的数量和类型和普通的Python函数并⽆⼆致。当在测试数据使⽤变量⽂件时, 调⽤参数跟 在变量⽂件后⾯的表格⾥, ⽽在命令⾏则通过冒号或分号和⽂件路径分开。 如何使⽤变量⽂件? 如何使⽤变量⽂件? 1、⽅法⼀:所有的测试数据⽂件都可以在设置表Setting通过 Variables 来导⼊变量。 如果 , 这些参数跟在路径后⾯的单元格, 并且这些参数同样可以使⽤变量。 注:变量⽂件定义的所有变量在导⼊它的测试⽂件都是可见的,如果同时导⼊了多个变量⽂件并且存在名称冲突, 则最先导⼊的⽣效。此外, 通过变量表格和命令⾏⽅式 设置的变量会覆盖变量⽂件的同名变量。 2、⽅法⼆: 通过命令⾏选项 --variablefile 来指定变量⽂件。选项后⾯跟着⽂件的路径, 如果要传递参数的话, 使⽤冒号 (:) 来分隔: ⽰例如下: 从Robot Framework 2.8.7版本开始, 还可以使⽤分号(;)作为参数的分隔符. 这种情况对参数本⾝也包含冒号时特别有⽤. 不过需要注意, 在UNIX-like操作系统, 要使⽤双引号 将整个选项值括起来: 这些变量⽂件变量在所有测试⽂件全局可见, 这点和通过选项 --variable 来设置 单个变量 类似. 如果同时使⽤

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

释梦燃

你的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值