一.寫在前面
robotframework是很好用的關鍵字驅動測試框架,但是在實際工作中也有些地方使用不便,比如在我們設計參數校驗測試case時,往往只是想修改校驗參數類型而不得不做大量復制粘貼操作,最終導致了一個測試case中存在大量的冗余代碼,而且如果在后續的使用中一旦出現變動,測試case將不便維護。
針對此情況,想到了嘗試在robotframework功能基礎上封裝了一個輕型框架,用來實現部分接口測試場景的數據驅動方式的自動化測試。
二.所需組件說明
1.python2.7
2.robotframework
3.依賴庫
Library RequestsLibrary
Library Collections
Library OperatingSystem
Library Process
Library String
Library XML
Library HttpLibrary.HTTP
Library DiffLibraryLibrary
../CustomKeyword.py(自定義依賴庫)等等
4.excel && txt
三.測試用例工程說明
test-xxx-xxx //測試case工程名
--→data //測試數據文件夾
---->api-test.txt //供測試框架獲取數據
---->api-test.xls //方便tester進行case設計編輯
--→testcase //測試框架文件夾
---->xxxxxx-api.txt //接口測試框架
--→start.sh //啟動j腳本
CustomKeywork.py //自定義關鍵字庫
README.md //都知道
1.data文件夾中存放測試數據
2.testcase文件夾中存放測試用例實例,測試完成后的報告,啟動腳本(其中txt文檔為測試用例實例供robotframework調用,log.html,report.html,output.xml是測試報告,start.sh是啟動腳本)
3.自定義測試庫(一些測試用的函數)
data中存放的是具體接口的測試數據,可以使用excel對conf-api-test.xls進行配置也可以直接打開對應的txt進行編輯(注:最終工具執行測試時是讀取txt文件,所以使用excel配置后需要用表格數據替換對應txt中的數據)
excel查看
不需要校驗的內容使用?* 正則匹配掉
txt查看
其中數據分為四列
第一列:用例名稱
第二列:用例執行開關(通過配置yes開啟執行這條case,配置no不執行這條case)
第三列: 輸入數據(接口請求調用的數據)
第四列:預期輸出
四.架構工作流程
五.代碼說明
1.圖形化關鍵字圖表說明
調用庫以及設置全局變量的操作不變
2.自定義關鍵字說明
3.第三方關鍵字說明
變量賦值關鍵字
字符串拼接關鍵字
變量運算關鍵字
if條件判斷關鍵字
continue關鍵字
斷言失敗繼續執行關鍵字
正則匹配斷言關鍵字
4.使用GET請求方式的區別
需要在請求調用之前,需要將unicode類型的輸入數據轉換成字典類型
六.對比
使用前
使用后
測試報告
七.后續
1.添加測試輸出錄制功能;
2.標准化測試數據格式,可以實現多工具兼容使用;
等等等等