引子
我們使用符合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個參數。
原文轉自:http://www.anti-gravitydesign.com