如果你还想从头学起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 )
  • 该函数将变量按字典的形式返回,该函数还可以接受参数,所以比较灵活

 

使用变量文件

有两种方式

  1. 通过 settings 表
  2. 通过命令行

 

通过 Setting 表

简单栗子

*** Settings ***

Variables cfg.py

知识点

  • 变量文件中定义的所有变量在导入它的测试文件中都是可见的
  • 如果同时导入了多个变量文件并且存在名称冲突, 则最先导入的生效
  • 通过变量表格 *** Variables *** 和命令行方式设置的变量会覆盖变量文件中的同名变量【变量文件的变量优先级低】

声明变量文件时,路径搜索规则

首先,变量文件声明的时候,可以使用绝对路径,也可以使用相对路径

使用相对路径的时候,RF搜索变量文件规则和 搜索资源文件搜索规则一样

  1. 在测试文件当前目录进行匹配搜索
  2. 若没有,则在Python的模块搜索路径中搜索【robot -P 搜索路径 test.robot】

注意:不同目录间的分割符是 / ,而不是 . 

Python 模块默认的搜索路径

本机的Python安装路径

 

 

目默认的录的栗子

目录结构

需求

在 test 目录下的 robot 文件中导入 var 目录下的变量文件

测试代码

运行命令

进入 robot 文件所在目录,cmd

robot  9_使用变量文件.robot

 

通过命令行(了解即可)

也是上面的跨目录栗子,执行以下命令即可

robot --variablefile ../var/9_var.py 9_使用变量文件.robot