RobotFrameWork使用import variables关键字导入py文件

  • 0
    点赞
  • 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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值