RobotFramework自动化框架,文件读取。
robotframework提供了多种读取外部文件的方式。
1.Variables读取python脚本中变量
1 2 3 4 5 6 7 8 9
| *** Settings ***
Variables get_var.py
*** Test Cases *** test01 [Documentation] 读取文件中变量 log ${testData}[name]
|
get_var.py内容如下
1 2 3 4
| testData = { 'name' : u'复仇者联盟4' }
|
2.Resource读取文件中关键字
1 2 3 4 5 6 7 8 9
| *** Settings *** Resource test_resource_file.txt
*** Test Cases *** test01 [Documentation] 读取文件中关键字 外部关键词文件
|
test_resource_file.txt 内容如下
1 2 3 4
| *** Keywords *** 外部关键词文件 log 9999999999999999
|
3.Library读取同级脚本中的函数
1 2 3 4 5 6 7 8 9
| *** Settings *** Library get_var_frome_script.py
*** Test Cases *** test01 [Documentation] 使用脚本中方法获取值 ${returnlist} returnlist log ${returnlist}
|
get_var_frome_script.py 内容如下
1 2 3 4 5
|
def returnlist(): return [1,2]
|
4.Library读取自定义库
这里要自定义Library有个条件,就是Library要python能找到它。
有两种方式可以做到:
- 把Library写到python的site-packages里
- 把Library加到环境变量里
这里我以上面第一种为例:
在Python27\Lib\site-packages里新建文件夹 MyLibrary
在其中新建文件 get_var_from_script_class.py
内容如下:
1 2 3 4 5 6 7 8 9
|
class SubLibrary: def __init__(self,a=1,b=2): self.a = a self.b = b
def returnint(self): return 3
|
再新建文件 init.py
1 2 3 4 5
| from get_var_from_script_class import SubLibrary version = '1.0' class MyLibrary(SubLibrary): ROBOT_LIBRARY_SCOPE = 'GLOBAL'
|
脚本中引入库
1 2 3 4 5 6 7 8
| *** Settings *** Library MyLibrary
*** Test Cases *** test02 [Documentation] 使用脚本中对象获取值 ${returnData} returnint log ${returnData}
|