如何在robotframework基礎上使用數據驅動測試


一.寫在前面

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.標准化測試數據格式,可以實現多工具兼容使用;

等等等等


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM