资源文件
使用资源文件
资源文件通过在设置表格中设定 Resource 来引入. 跟在设置名称后面的值就是资源文件所在的路径.
如果路径使用的是绝对路径格式, 则直接使用. 如果是相对路径的话, 首先在当前文件(即要引入资源文件的文件)所在路径下相对查找该路径. 如果没有找到, 则继续在Python的 模块搜索路径 下的目录中查找. 路径名称可以并且推荐使用变量, 以便做到路径和系统无关(例如 $RESOURCES/login_resources.html
或 $RESOURCE_PATH
). 此外, 这里统一使用正斜杠(/
), 在Windows系统中会自动转换为反斜杠(\
).
- *** Settings ***
- Resource myresources.html
- Resource ../data/resources.html
- Resource ${RESOURCES}/common.tsv
定义在资源文件中的用户关键字和变量在导入后即可使用. 同时, 该资源文件中从其它文件(测试库/资源文件/变量文件)导入的关键字和变量的关键字, 也变得可用.
资源文件的结构
资源文件的整体结构和测试用例文件一样, 只不过其中不能包含测试用例. 此外, 资源文件中的设置表格只能包含导入相关的设置(Library, Resource, Variables)和文档设置(Documentation). 变量表格和关键字表格则和用例文件中完全一样.
如果多个资源文件中包含了重名的用户关键字, 必须使用 资源文件名作为前缀 来区分. 例如,:name:myresources.Some Keyword and common.Some Keyword. 并且, 如果多个资源文件包含了同名的变量, 则最终生效的是 最先 导入的那个.
资源文件的文档
资源文件中创建的关键字可以使用 [Documentation] 来设置 文档. 和 测试套件 类似, 资源文件本身在设置表格中也可以通过 Documentation 设置文档.
库文档工具(Libdoc) 和 RIDE 都会用到这些文档, 并且这些文档内容很自然的对打开资源文件的人来说也是可见的.
当关键字运行时, 关键字文档的第一行将写入日志, 而资源文件的文档在测试执行过程中会被忽略.
资源文件示例
- *** Settings ***
- Documentation An example resource file
- Library Selenium2Library
- Resource ${RESOURCES}/common.robot
- *** Variables ***
- ${HOST} localhost:7272
- ${LOGIN URL} http://${HOST}/
- ${WELCOME URL} http://${HOST}/welcome.html
- ${BROWSER} Firefox
- *** Keywords ***
- Open Login Page
- [Documentation] Opens browser to login page
- Open Browser ${LOGIN URL} ${BROWSER}
- Title Should Be Login Page
- Input Name
- [Arguments] ${name}
- Input Text username_field ${name}
- Input Password
- [Arguments] ${password}
- Input Text password_field ${password}