六.對比?
一.寫在前面
robotframework是很好用的關(guān)鍵字驅(qū)動測試框架汹族,但是在實際工作中也有些地方使用不便茫负,比如在我們設(shè)計參數(shù)校驗測試case時,往往只是想修改校驗參數(shù)類型而不得不做大量復(fù)制粘貼操作九火,最終導(dǎo)致了一個測試case中存在大量的冗余代碼,而且如果在后續(xù)的使用中一旦出現(xiàn)變動坑律,測試case將不便維護(hù)薪前。
針對此情況,想到了嘗試在robotframework功能基礎(chǔ)上封裝了一個輕型框架情连,用來實現(xiàn)部分接口測試場景的數(shù)據(jù)驅(qū)動方式的自動化測試。
二.所需組件說明
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? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//測試數(shù)據(jù)文件夾
? ? ? ? ---->api-test.txt? ? ? ? ? ? //供測試框架獲取數(shù)據(jù)
? ? ? ? ---->api-test.xls? ? ? ? ? ?//方便tester進(jìn)行case設(shè)計編輯
--→testcase? ? ? ? ? ? ? ? ? ? ? ??//測試框架文件夾
? ? ? ? ---->xxxxxx-api.txt??//接口測試框架
? ? ? ? --→start.sh? ? ? ? ? ? ? ? ?//啟動j腳本
CustomKeywork.py? ? ? ? ? ??//自定義關(guān)鍵字庫
README.md? ? ? ? ? ? ? ? ? ? ??//都知道
1.data文件夾中存放測試數(shù)據(jù)
2.testcase文件夾中存放測試用例實例览效,測試完成后的報告却舀,啟動腳本(其中txt文檔為測試用例實例供robotframework調(diào)用,log.html,report.html,output.xml是測試報告锤灿,start.sh是啟動腳本)
3.自定義測試庫(一些測試用的函數(shù))
data中存放的是具體接口的測試數(shù)據(jù)挽拔,可以使用excel對conf-api-test.xls進(jìn)行配置也可以直接打開對應(yīng)的txt進(jìn)行編輯(注:最終工具執(zhí)行測試時是讀取txt文件,所以使用excel配置后需要用表格數(shù)據(jù)替換對應(yīng)txt中的數(shù)據(jù))
excel查看
不需要校驗的內(nèi)容使用?* 正則匹配掉
txt查看
其中數(shù)據(jù)分為四列
? ?第一列:用例名稱
? ?第二列:用例執(zhí)行開關(guān)(通過配置yes開啟執(zhí)行這條case但校,配置no不執(zhí)行這條case)
? ?第三列: 輸入數(shù)據(jù)(接口請求調(diào)用的數(shù)據(jù))
? ?第四列:預(yù)期輸出??
四.架構(gòu)工作流程
五.代碼說明
1.圖形化關(guān)鍵字圖表說明
調(diào)用庫以及設(shè)置全局變量的操作不變
2.自定義關(guān)鍵字說明
3.第三方關(guān)鍵字說明
變量賦值關(guān)鍵字
字符串拼接關(guān)鍵字
變量運(yùn)算關(guān)鍵字
if條件判斷關(guān)鍵字
continue關(guān)鍵字
斷言失敗繼續(xù)執(zhí)行關(guān)鍵字
正則匹配斷言關(guān)鍵字
4.使用GET請求方式的區(qū)別
需要在請求調(diào)用之前螃诅,需要將unicode類型的輸入數(shù)據(jù)轉(zhuǎn)換成字典類型
六.對比
使用前
使用后
測試報告
七.后續(xù)
1.添加測試輸出錄制功能;
2.標(biāo)準(zhǔn)化測試數(shù)據(jù)格式,可以實現(xiàn)多工具兼容使用术裸;
等等等等