如何编写Robot Framework测试用例1---(基本格式篇)

  • 引子

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

如何编写Robot <wbr>Framework测试用例1---(基本格式篇)
这样的表格存储到一个文件中,就是一组测试用例。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 CaseActionArgumentArgumentArgument
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个参数。

 

 

posted @ 2015-06-25 23:53  叉叉敌  阅读(3312)  评论(0编辑  收藏  举报