变量文件包含可以在测试数据中使用的变量。
也可以使用变量表创建变量,也可以从命令行设置变量,但是变量文件允许 动态 创建变量,并且变量可以包含任何对象。
2.在资源文件Variables表中定义变量
1)首先要创建Variables表
例如:在同级目录test3.robot资源文件中定义如下内容:
*** Settings *** Library SeleniumLibrary *** Keywords *** 百度搜索京东 [Documentation] 打开百度然后搜索京东 #定义了连个形参 [Arguments] ${url} ${browser} [Tags] mytag [Timeout] 5 open browser ${url} ${browser} input text id=kw 京东 click element id=su close browser #返回值 [Return] 搜索京东成功!!! *** Variables *** #字符串变量 ${weburl} http://www.baidu.com #定义列表变量 @{list1} 127.0.0.1 3306 #定义字典变量,注意要使用& &{dict1} name=王八蛋 age=18
2)使用资源文件中创建的变量
例如:在test4.robot中使用资源文件test3.robot中定义的变量
*** Settings *** #导入资源文件 Resource test3.robot *** Test Cases *** case01 log to console ${weburl} #输出字符串变量所对应的值 log to console ${list1}[0] #输出列表变量下标为0的元素 log to console ${dict1}[age] #输出字典变量,键为age所对应的值
3.使用Python模块文件提供公共变量给RF使用
只需要直接定义导入模块即可使用,语法完成就是python中的语法
1)在python模块文件中定义变量
例如:在同一目录下hello.py中定义了如下变量
url = 'http://localhost/mgr/login/login.html' loginDict = {"name":"Augus","password":"123456"} namelist = ["tom","roy","auguse"]
2)导入的python模块文件hello.py中的变量
在套件文件test5.robot中导入hello.py中的变量,并且使用它
*** Settings *** #引入python文件中的变量时,必须使用Variables Variables hello.py *** Test Cases *** case06 #注意使用python模块文件中的时候,格式如下:${url} 不需要在考虑数据类型,、 #老版本规则:@列表变量 &字典变量,目前新版本均已废除 log to console ${url} log to console ${namelist}[0] log to console ${loginDict}[name]
注意:
-
声明变量如果在其父目录的同级子目录中,则导入时写成:Variables ../results/cfg.py
-
变量文件声明的时候,可以使用绝对路径,也可以使用相对路径。
-
使用相对路径的时候,Robot Framework搜索规则和资源文件搜索规则一样
先在相对当前文件的目录匹配搜索
在Python的模块搜索路径中搜索,可以用–pythonpath参数
-
命令行参数指定变量文件
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/253611.html