我们使用符合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需要对它规定的这种表格语言进行解析,并用内部引擎把这些脚本语言解释成执行测试用例的具体操作。在解析过程中我们需要如下几点:
-
忽略字符:根据格式不同,忽略不符合格式的字符,规则很多,但是可以使用RIDE来规避,使用RIDE我们就可以不考虑这些。
-
转义符:RF使用 \ 作为转义符。举个例子:
\${notvar} 代表字符串 ${notvar} 而不是一个变量
-
空格: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个参数。