测试数据, Test Data
作者: 虞科敏
本文档同步发布到Gitbook.com: https://www.gitbook.com/book/kemin_yu/robot-framework-book-from-ykm/details
文件和目录
-
测试用例文件, TestCase File
测试用例创建在用例文件中.
用例文件会自动创建一个包含文件中所定义用例的测试套件, TestSuite. -
目录
包含多个测试文件的目录, 形成一个更高一级的测试套件。
Suite目录拥有从测试文件创建的套件,将它们作为目录Suite的子suite。
suite目录还可以包含其他的suite目录,这种层级结构可以递归嵌套。
suite目录可以拥有一个特别的init文件。 -
特别的测试文件 Test Libraries, 包含低级别的关键字
Resource File, 包含变量Variables,高级别的用户自定义关键字
Variable File, 提供资源文件外更灵活的创建变量的手段
支持的文件格式
- HTML
- TSV
- Plain TEXT
- reStructuredText
以Plain Text举例,其他格式请参考用户手册
空格分隔
*** Settings ***
Library OperatingSystem*** Variables ***
${MESSAGE} Hello, world!*** Test Cases ***
My Test[Documentation] Example test
Log ${MESSAGE}
My Keyword /tmpAnother Test
Should Be Equal ${MESSAGE} Hello, world!
*** Keywords ***
My Keyword[Arguments] ${path}
Directory Should Exist ${path}
管线和空格分隔
| Setting | Value |
| Library | OperatingSystem || Variable | Value |
| ${MESSAGE} | Hello, world! || Test Case | Action | Argument |
| My Test | [Documentation] | Example test |
| | Log | ${MESSAGE} |
| | My Keyword | /tmp |
| Another Test | Should Be Equal | ${MESSAGE} | Hello, world!| Keyword |
| My Keyword | [Arguments] | ${path}
| | Directory Should Exist | ${path}
数据表格
共计4种表格,以表格中的第一个cell在标识: Settings, Variables, Test Cases, Keywords.
大小写敏感; 单数形式也可以接受,比如Setting, Variable, Test Case, Keyword.
-
Settings
1) 引入test libraries, resource files, variable files.
2) 定义suite和case的元数据metadata -
Variables
定义变量,可被其他测试数据使用 -
Test Cases 使用可用的关键字创建测试用例
-
Keywords
使用已有的低级关键字创建更高级的用户关键字
测试数据解析的规则
- RF框架解析测试数据时,会忽略一些信息, 细节请参考用户手册。
- 处理空白字符Whitespace, 转义字符Escaping, 细节请参考用户手册。
- 空cell的技巧: \ 或者 ${EMPTY}
- 空格的技巧: \ 或者 ${SPACE}
- 多行技巧: ...
Tips: 会被忽略的信息
在第一个cell中表名字非法的表格
第一行中第一个cell后的其他内容
第一个表前面的所有内容(如果允许,表之间的内容也会被忽略)
所有的空行(空行一般用来提高可读性)
每行末尾的空cell(除非被转义)
所有单个的\(当不用做转义时)
当#时一个cell中的第一个字符,#后面的所有字符(#可被用来作为注释之用)
在HTML或reStructuredText中的所有格式信息