首先聲明漠酿,這篇文章對于寫Robot framework測試腳本是沒有幫助的。
那為什么還要寫這篇文章呢?
因為我懶呀~
最開始我們的測試用例是寫在excel表格的(不要問我為什么诸衔,反正能滿足需求,雖然效率不高蛔钙,雖然我也抗議過)。
寫測試腳本的時候呢荠医,又要求Case Documentation要有完整的用例描述吁脱,見本文"三、Test cases"部分彬向。同時兼贡,用例名稱、配置文件命名娃胆、Case Tags等遍希,都有規(guī)范要遵循,見Robot framework測試腳本編寫思考里烦。
想象下凿蒜,在那時候要寫個遵循腳本規(guī)范的測試腳本,得需要多少繁瑣的復制黏貼修改的操作啊~
所以我就投機取巧寫個Python腳本實現excel測試用例轉化為測試腳本框架的工具胁黑。
這就是本文的由來废封。
腳本大體分為四部分
- Settings
- Variables
- Test cases
- Keywords
robotframework腳本的特點:表格
一、Settings
1.內容
-
腳本描述
Documentation Level: 3 ... Group_1: 響應處理 ... Group_2: 響應處理 ... Author: zhangbb ... Date: 2016.08.30 ... Desc: ... Tags: important ... Version: xxxx-1.1.1-1 ... 功能名稱: xxx ... 需求鏈接: ... ... Group_2標簽支持中文丧蘸,其他標簽不支持漂洋。每行不能以空格為結束符。
-
Suite setup/teardown
Suite Setup Suite setup Suite Teardown Suite teardown
-
Force tags
Force Tags __post
-
引用庫
Library OperatingSystem Library wsLighttpd Library wsSquid Library wsHttp Library wsShortCut.py 127.0.0.1:3128 Library wsSimpleWebServer Variables Globals.py
2.結構特征
直觀上會發(fā)現,腳本呈現右半部分對齊的特點刽漂。經過進一步分析:
左邊部分有18個字符串(含空格)
二演训、Variables
1.內容
- 全局變量
${CORE_DIR} /usr/local/xxx
${CHANNEL DIR} /usr/local/xxx/etc/channel
${SQUID CLIENT} /usr/local/xxx/bin/yyy
${ACCESS LOG} /usr/local/xxx/var/logs/access.log
${TEMP FILE} /tmp/tmp.txt
${URL1} http://aaa.aa.com/wstest/1.html
2.結構特征
同 Settings一樣,左邊部分有18個字符串(含空格)
三爽冕、Test cases
1.內容
用例名稱
-
用例描述
Documentation
描述部分
用例標簽
Setup
腳本部分
-
Teardown
1-Test fucntion [Documentation] *用例1* ... ... *描述* ... ... 此處測試xxx ... ... *配置* ... ... HOST aaa.aa.com ... domain_replace_dst_ip 127.0.0.2 ... HOST END ... ... *步驟* ... ... 1.步驟一 ... 2.步驟二 ... ... *預期結果* ... ... 1.預期結果一 ... 2.預期結果二 [Tags] _case1 [Setup] Case setup Run killall tcpflow [Teardown] Case teardown ${core_begin}
2.結構特征
用例名稱:頂格寫
-
用例描述:
Documentation:4個空格 + [Documentation] + 4個空格
描述:4個空格 + 3個. + 4個空格 + 描述
用例標簽:4個空格 + 標簽
Setup:4個空格 + 關鍵字
腳本部分:4個空格 + 腳本命令
Teardown:4個空格 + 關鍵字
用例與用例之間:換一行
四仇祭、Keywords
1.內容
-
自定義關鍵字。
Case teardown [Arguments] Run killall tcpflow
2.結構特征
關鍵詞:頂格寫
關鍵字內容:4個空格 + 腳本命令
關鍵字與關鍵字之間:換一行(可有可無)