如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!
https://www.cnblogs.com/poloyy/category/1770899.html
啥是变量文件
- 变量文件包含了测试数据所需的变量
- 虽然变量可以通过变量表格 *** Variables *** 中创建,或者通过命令行设置,不过这些方法有所局限,而变量文件可以动态地创建任意类型的变量
- 变量文件一般由 Python 模块实现,语法完全是Python
在变量文件中,有两种方法来创建变量
直接创建变量
var = “变量值” ,这样等同于创建了 ${var} 变量
栗子
# var.py MgrLoginUrl = 'http://localhost/mgr/login/login.html' StudentLoginUrl= 'http://localhost/student/login/login.html' database= ['127.0.0.1' , '3306'] adminuser= {'name':'auto' , 'pw':'sdfsdfsdf'}
通过特殊函数获取变量
- 变量文件中可以包含一个特殊的函数 get_variables (或者 getVariables )
- 该函数将变量按字典的形式返回,该函数还可以接受参数,所以比较灵活
使用变量文件
有两种方式
- 通过 settings 表
- 通过命令行
通过 Setting 表
简单栗子
*** Settings ***
Variables cfg.py
知识点
- 变量文件中定义的所有变量在导入它的测试文件中都是可见的
- 如果同时导入了多个变量文件并且存在名称冲突, 则最先导入的生效
- 通过变量表格 *** Variables *** 和命令行方式设置的变量会覆盖变量文件中的同名变量【变量文件的变量优先级低】
声明变量文件时,路径搜索规则
首先,变量文件声明的时候,可以使用绝对路径,也可以使用相对路径
使用相对路径的时候,RF搜索变量文件规则和 搜索资源文件搜索规则一样
- 在测试文件当前目录进行匹配搜索
- 若没有,则在Python的模块搜索路径中搜索【robot -P 搜索路径 test.robot】
注意:不同目录间的分割符是 / ,而不是 .
Python 模块默认的搜索路径
本机的Python安装路径
目默认的录的栗子
目录结构
需求
在 test 目录下的 robot 文件中导入 var 目录下的变量文件
测试代码
运行命令
进入 robot 文件所在目录,cmd
robot 9_使用变量文件.robot
通过命令行(了解即可)
也是上面的跨目录栗子,执行以下命令即可
robot --variablefile ../var/9_var.py 9_使用变量文件.robot