《我的RobotFramework书》1-1 测试数据, Test Data

本文介绍了Robot Framework的测试数据组织方式,包括文件和目录结构、支持的文件格式如HTML、TSV等,以及数据表格的使用,如Settings、Variables、Test Cases和Keywords。还提到了测试数据解析的规则和一些处理空白字符、转义字符的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

测试数据, Test Data


作者: 虞科敏

本文档同步发布到Gitbook.com: https://www.gitbook.com/book/kemin_yu/robot-framework-book-from-ykm/details


文件和目录

  1. 测试用例文件, TestCase File
    测试用例创建在用例文件中.
    用例文件会自动创建一个包含文件中所定义用例的测试套件, TestSuite.

  2. 目录
    包含多个测试文件的目录, 形成一个更高一级的测试套件。 
    Suite目录拥有从测试文件创建的套件,将它们作为目录Suite的子suite。
    suite目录还可以包含其他的suite目录,这种层级结构可以递归嵌套。
    suite目录可以拥有一个特别的init文件。

  3. 特别的测试文件 Test Libraries, 包含低级别的关键字
    Resource File, 包含变量Variables,高级别的用户自定义关键字
    Variable File, 提供资源文件外更灵活的创建变量的手段

支持的文件格式

  1. HTML
  2. TSV
  3. Plain TEXT
  4. reStructuredText

以Plain Text举例,其他格式请参考用户手册

空格分隔

*** Settings ***
Library OperatingSystem

*** Variables ***
${MESSAGE} Hello, world!

*** Test Cases ***
My Test

[Documentation] Example test
Log ${MESSAGE}
My Keyword /tmp

Another 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.

  1. Settings 
    1) 引入test libraries, resource files, variable files.
    2) 定义suite和case的元数据metadata

  2. Variables 
    定义变量,可被其他测试数据使用

  3. Test Cases 使用可用的关键字创建测试用例

  4. Keywords
    使用已有的低级关键字创建更高级的用户关键字

测试数据解析的规则

  1. RF框架解析测试数据时,会忽略一些信息, 细节请参考用户手册。
  2. 处理空白字符Whitespace, 转义字符Escaping, 细节请参考用户手册。
  3. 空cell的技巧: \ 或者 ${EMPTY}
  4. 空格的技巧: \ 或者 ${SPACE}
  5. 多行技巧: ...

Tips: 会被忽略的信息

在第一个cell中表名字非法的表格  
第一行中第一个cell后的其他内容  
第一个表前面的所有内容(如果允许,表之间的内容也会被忽略)  
所有的空行(空行一般用来提高可读性)  
每行末尾的空cell(除非被转义)  
所有单个的\(当不用做转义时)
当#时一个cell中的第一个字符,#后面的所有字符(#可被用来作为注释之用)  
在HTML或reStructuredText中的所有格式信息  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值