资源文件

使用资源文件

资源文件通过在设置表格中设定 Resource 来引入. 跟在设置名称后面的值就是资源文件所在的路径.

如果路径使用的是绝对路径格式, 则直接使用. 如果是相对路径的话, 首先在当前文件(即要引入资源文件的文件)所在路径下相对查找该路径. 如果没有找到, 则继续在Python的 模块搜索路径 下的目录中查找. 路径名称可以并且推荐使用变量, 以便做到路径和系统无关(例如 $RESOURCES/login_resources.html$RESOURCE_PATH). 此外, 这里统一使用正斜杠(/), 在Windows系统中会自动转换为反斜杠(\).

  1. *** Settings ***
  2. Resource myresources.html
  3. Resource ../data/resources.html
  4. Resource ${RESOURCES}/common.tsv

定义在资源文件中的用户关键字和变量在导入后即可使用. 同时, 该资源文件中从其它文件(测试库/资源文件/变量文件)导入的关键字和变量的关键字, 也变得可用.

资源文件的结构

资源文件的整体结构和测试用例文件一样, 只不过其中不能包含测试用例. 此外, 资源文件中的设置表格只能包含导入相关的设置(Library, Resource, Variables)和文档设置(Documentation). 变量表格和关键字表格则和用例文件中完全一样.

如果多个资源文件中包含了重名的用户关键字, 必须使用 资源文件名作为前缀 来区分. 例如,:name:myresources.Some Keyword and common.Some Keyword. 并且, 如果多个资源文件包含了同名的变量, 则最终生效的是 最先 导入的那个.

资源文件的文档

资源文件中创建的关键字可以使用 [Documentation] 来设置 文档. 和 测试套件 类似, 资源文件本身在设置表格中也可以通过 Documentation 设置文档.

库文档工具(Libdoc) 和 RIDE 都会用到这些文档, 并且这些文档内容很自然的对打开资源文件的人来说也是可见的.

当关键字运行时, 关键字文档的第一行将写入日志, 而资源文件的文档在测试执行过程中会被忽略.

资源文件示例

  1. *** Settings ***
  2. Documentation An example resource file
  3. Library Selenium2Library
  4. Resource ${RESOURCES}/common.robot
  5.  
  6. *** Variables ***
  7. ${HOST} localhost:7272
  8. ${LOGIN URL} http://${HOST}/
  9. ${WELCOME URL} http://${HOST}/welcome.html
  10. ${BROWSER} Firefox
  11.  
  12. *** Keywords ***
  13. Open Login Page
  14. [Documentation] Opens browser to login page
  15. Open Browser ${LOGIN URL} ${BROWSER}
  16. Title Should Be Login Page
  17.  
  18. Input Name
  19. [Arguments] ${name}
  20. Input Text username_field ${name}
  21.  
  22. Input Password
  23. [Arguments] ${password}
  24. Input Text password_field ${password}