• 引子

我们使用符合Robot Framework规范的一种表格语法来编写测试用例。用例一般会是下面这个样子


这样的表格存储到一个文件中,就是一组测试用例。RF支持多种格式,如HTML,TSV,纯文本等。它们长相大同小异,其实描述的都是一种内容。为了方便,推荐使用RIDE这个用例的编辑工具来编写测试用例,这些文本在RIDE环境下被打开长得是一个样子的。

  • 测试用例与文件的关系

一个文件被称作一个测试套件(Test suit),期间可以包含多个测试用例。上图就是一个测试套件,里面包含2个测试用例,My
Test 和AnotherTest。

Test suit也能嵌套,比如同一个目录下的多个Test suit组成一个更高层的Test Suit,这些更高层的Test
suit可以组成,这种嵌套的层数可以无限多。这种嵌套的用例组织形式在实际应用中很常见。

  • 测试用例文件的内部结构

一个Test Suit文件包含四段内容他们分别是:Setting,Variable,Testcase,Keyword

Setting部分主要的作用是:

引用测试类库文件(test Library),引用资源文件(resource files),引用变量文件(variable
files)。

为测试套件或者测试用例定义元数据(metadata)
 
Variable部分的主要作用是:
定义测试用例中要使用的变量。
 
TestCase部分的主要作用是:
使用测试关键字来完成测试用例
 
Keword部分的主要作用是:
把现有关键字进行组合,生成更高一级的新关键字。
 
  • 对测试用例文本解析的规则

如同各种编程语言一样,RF需要对它规定的这种表格语言进行解析,并用内部引擎把这些脚本语言解释成执行测试用例的具体操作。在解析过程中我们需要如下几点:

  1. 忽略字符:根据格式不同,忽略不符合格式的字符,规则很多,但是可以使用RIDE来规避,使用RIDE我们就可以不考虑这些。
  2. 转义符:RF使用 \ 作为转义符。举个例子:\${notvar} 代表字符串 ${notvar}
    而不是一个变量
  3. 空格:RF会自动截断头尾的空格
  • 多行用例

如果参数太多,需要换行,则需要在下一行的关键字处使用英文的省略号(...)表示参数属于同一个关键字。

Test Case Action Argument Argument Argument
Example [Documentation] Documentation for this test case.
  ... This can get quite long...
  [Tags] t-1 t-2 t-3
  ... t-4 t-5  
  Do X one two three
  ... four five six
  ${var} = Get X 1 2
  ... 3 4 5
  ...

从上表中我们可以看到:[Tags]有5个参数,而Do X有6个参数。

如何编写Robot Framework测试用例1---(基本格式篇)的更多相关文章

  1. 如何编写Robot Framework测试用例2---(测试用例语法1)

    基本语法 测试用例由关键字组成,关键字的来源有三种: 1从测试库引入:2从资源文件引入:3从关键字表中引入(自定义关键字) 下面就是一个典型的测试用例组织形式. 图中有2个测试用例“Valid Log ...

  2. Robot Framework安装

    Robot Framework(中文站/社交化知识社区,源码)是一款Python编写的通用开源功能测试自动化框架,以作验收测试和验收测试驱动开发(ATDD),它是一种使用表格测试数据语法的关键字驱动的 ...

  3. Robot Framework使用Phantomjs进行无界面UI自动化测试

    Robot Framework 是一款关键字驱动的验收自动化测试框架,现在在国内使用的越来越广泛了.一种通用的Web UI自动化测试解决方案是Robot Framework+Selenium2Libr ...

  4. Robot Framework(九) 执行测试用例——基本用法

    3.1基本用法 Robot Framework测试用例从命令行执行,默认情况下,最终结果是XML格式的输出文件和HTML 报告和日志.执行后,可以组合输出文件,然后使用rebot工具进行后处理. 3. ...

  5. 【转】Robot Framework 快速入门

    目录 介绍 概述 安装 运行demo 介绍样例应用程序 测试用例 第一个测试用例 高级别测试用例 数据驱动测试用例 关键词keywords 内置关键词 库关键词 用户定义关键词 变量 定义变量 使用变 ...

  6. Robot Framework 快速入门

    Robot Framework 快速入门 目录 介绍 概述 安装 运行demo 介绍样例应用程序 测试用例 第一个测试用例 高级别测试用例 数据驱动测试用例 关键词keywords 内置关键词 库关键 ...

  7. Robot Framework 快速入门_中文版

    目录 介绍 概述 安装 运行demo 介绍样例应用程序 测试用例 第一个测试用例 高级别测试用例 数据驱动测试用例 关键词keywords 内置关键词 库关键词 用户定义关键词 变量 定义变量 使用变 ...

  8. Robot Framework(十八) 支持工具

    5支持工具 5.1库文档工具(libdoc) libdoc是一种用于为HTML和XML格式的测试库和资源文件生成关键字文档的工具.前一种格式适用于人类,后者适用于RIDE和其他工具.Libdoc也没有 ...

  9. Robot Framework(四)创建测试套件

    2.3.1测试用例文件 Robot Framework测试用例是使用测试用例文件中的测试用例表创建的.这样的文件会自动从它包含的所有测试用例中创建一个测试套件.可以有多少测试用例没有上限,但建议少于1 ...

随机推荐

  1. SVN提示update更新成功,但是本地文件却没有更新

    问题描述:将仓库的最新版本代码check out到本地后,然后最某个文件做了修改,保存后想通过svn的update来重新得到最新的版本,发现失效. 原因:经过多方查找原因,主要看了以下两篇文档 htt ...

  2. HTML5中Js多线程编程

    Web Worker Web Worker是HTML5提出的新标准,为 JavaScript 创造多线程环境,允许主线程创建 Worker 线程,将一些任务分配给后者运行.在主线程运行的同时,Work ...

  3. element-UI table分页之后保存已经勾选的标签

  4. jQuery-自己封装的弹框

    (function () { CDK={ cfm:function(resFun,errFun){ var confirm=document.createElement('div'); confirm ...

  5. H3C MSTP

  6. 备战省赛组队训练赛第六场(UPC)

    传送门 外来博客题解1:戳这里 外来博客题解2:戳这里 CRWG全方位题解:戳这里

  7. Python6_模块、包、import、from import的解释

    先说一下模块和包是什么? 模块(module):简单来说一个模块(module)就是一个py文件.在python中是这么约定. 模块里面有函数.类,就是一组代码的集合.   模块显然要有一个名字,这个 ...

  8. QString 转换为 char *

    一.QString 转换为 char * 将 QString 转 char *,需要用到 QByteArray 类,QByteArray 类的说明详见 Qt 帮助文档. 因为 char * 最后都有一 ...

  9. 使用svndumpfilter exclude来清理svn库的废弃文件实现差别备份

      先啰嗦下为什么要使用svndumpfilter… svn库用久了以后就会越来越大,进行整体文件打包备份的时候,发现压力山大…尤其是美术团队也在使用svn进行重要美术资源管理的时候…….几百g的资源 ...

  10. asp.net保留两位小数

    1.System.Globalization.NumberFormatInfo provider = new System.Globalization.NumberFormatInfo();provi ...