Python3.6+RobotFramework中的变量、赋值

基础

变量是大小写敏感的
全局变量要大写,如${PATH}
$@&%加{}来定义变量,可以用字母、下划线、数字、空格

变量的优先级

1、命令行中定义的变量优先级最高。会覆盖test case里Variables中的、test data中导入的resource and variable files
单独使用–variable定义的,覆盖–variablefile定义的
单独使用–variable定义的,后边的覆盖前边的
多个variablefile里都有定义的,先引用的文件里的优先级最高
2、测试文件的Variable table定义的变量,覆盖引入的resource and variable files里的变量,在当前文件的所有test case里可用。
3、resource and variable files里的变量优先级一样,最低。。。最先引入的生效。resource file里的变量会覆盖该文件引入resource and variable files里的变量。Variable里不能使用resource and variable files里引入的变量,因为Variable table的处理在Setting table之前,resource and variable files又是在Setting table里引入的。
4、使用return values from 和 Set Test/Suite/Global Variable 关键字定义的变量会覆盖所有变量,但是也仅限于该语句所在的范围。
5、类似${TEMPDIR} 、 ${TEST_NAME}的系统变量优先级最高,不能在Variable table 或者 command line中修改。${CURDIR}会随着测试执行而自动变化。

变量的作用域

作用域的四个等级:global, test suite, test case or local scope
1、Global scope:在命令行中通过 --variable and --variablefile参数指定,或者在任意位置通过Set Global Variable关键字设置。内置变量也是全局范围可用的。建议全部用大写字母表示
2、Test suite scope:测试套件范围内可用。可以通过resource and variable files,或者使用Set Suite Variable关键字指定。高级套件里的变量不会递归到低级别的套件里,但是可以通过resource and variable files来共享变量的使用。建议全部用大写字母表示
3、Test case scope:在test case里以及调用的用户自定义关键字里可用,可以在test case里通过Set Test Variable关键字设置。建议全部用大写字母表示
4、Local scope:test case和用户自定义关键字里有其他test case和用户自定义关键字不可见的变量。本地变量可以通过return values关键字从关键字的执行中获取,用户自定义关键字也可以拿来做参数建议全部用小写字母表示

Prior to Robot Framework 2.9 variables in the local scope leaked to lower level user keywords. This was never an intended feature, and variables should be set or passed explicitly also with earlier version

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值