RobotFramework
測試庫(Test library)
資源文件(Resource file)
變量文件(Variable file)
測試模版(Template)將關鍵字驅動模式改爲數據驅動模式
不一樣的測試用例模式:
關鍵字驅動模式
數據驅動模式:
行爲驅動模式:
靜態和動態測試庫之間惟一的不一樣就是,Robot Framework 如何發現測試庫實現了哪些關鍵字,包括這些關 鍵字的參數和文檔,以及這些關鍵字實際執行的方式。對於靜態 API,這些動做都是經過反射(除了 Java 測試庫的文檔)來完成的。可是對於動態測試庫,則有特殊的方法來實現這些目的。
要作到流程和數據的分離
• 經過不斷抽象,消除冗餘
• 測試用例應儘可能簡單易讀,避免複雜邏輯
測試用例 = 測試流程模板 + 測試數據
測試流程模板 = 測試流程構件的排列
測試流程構件 = 測試流程步驟的排列
測試流程步驟 = 界面交互細節
• 要作到流程和數據的分離
• 經過不斷抽象,消除冗餘
• 測試用例應儘可能簡單易讀,避免複雜邏輯 • 創建測試用例分層架構,並堅守
• 自動化測試用例必須很是健壯,避免誤報
-----------------------------
研究RobotFramework時碰到的問題
1. 環境變量的設置問題:能夠使用Set Environment Variable 關鍵字,可是變量的做用域須要驗證。
2. 如何調用Shell腳本: 能夠使用關鍵字:導入OperatingSystem庫,能夠使用關鍵字Run來調用Shell 腳本,問題在於如何將Shell的腳本須要的變量傳遞進去,以及如何把運行中的log 輸出出來。
3. 執行運行腳本的關鍵字返回值是pass的,如何判斷case 是正確仍是錯誤,須要添加判斷步驟嗎?
4. 執行的python 腳本和之前的環境有依賴關係。
os.path.expandvars(「connect http://$TMP_DUT_WAN_IP
Jacs使用:
生成 GPV 文件: python
listen 1234
connect http://192.168.55.1:7547/ actiontec actiontec NONE
wait
rpc cwmp:InformResponse MaxEnvelopes=1
wait
get_params InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.SSID
wait
rpc0
quit
生成 SPV 文件:
listen 1234
connect http://192.168.55.1:7547/ actiontec actiontec NONE
wait
rpc cwmp:InformResponse MaxEnvelopes=1
wait
get_params InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.SSID
wait
rpc0
quit