python接口自動化框架-case依賴與SQL依賴以及SQL斷言實現


框架目錄:

整體思路:

采用excle數據驅動維護用例,數據依賴:兩種實現方法case依賴與sql依賴,優先使用case依賴,

最終運行的用例是:

 

 維護用例在datacase目錄下:

 

 涉及到用例信息新增/修改時,請先執行此腳本,目的是合並所有用例至run/datacase_all.xlsx

 

 

 

 

 

1.使用caseID關聯,通過caseId找到對應的excle函數執行,並返回項目數據,通過dependkey:對象是json表達式,獲取響應數據中對應的內容,最后組裝為dict,與請求數據進行交互完成請求參數替換

2.sql依賴:在excle中維護對應的sql語句,框架會自動執行對應行的sql,然后使查詢結果與請求數據進行交互,完成參數替換

流程圖如下:

 

 

 

3.斷言分為普通的字符串斷言與sql斷言,sql斷言將sql的執行結果與當前用例的執行結果進行交互,完成最終的斷言處理

相關代碼實現:

 用到的核心第三庫:

openpyxl、demjson、jsonpath_rw、xlsxwriter、pandas、codecs、redis、pymongo、pymysql、request、ruamel.yaml

 框架是作者業務時間的興趣愛好完成的,也還有很多不完善的地方,例如用例依賴目前沒做成實時的,現在是通過腳本先把所有的依賴數據全部生成好了在執行的,

框架某些模塊借用了網上的其他框架,感謝提供的相關思路

項目已上傳github:

地址 https://github.com/qtclm/AutoInterfaceTest_Datadepend

 運行用例時,會詢問是否需要執行數據依賴寫入,需結合實際情況是否需要完成詞操作,這個操作相對比較耗時,后續考慮使用多線程實現

2020.4.11最近更新:支持多種content_type:application/json,application/x-www-form-urlencoded,text/html,multipart/form-data,XMLHttpRequest,excle用例增加對應支持,支持自定義關鍵字,在對應的content下維護對應的關鍵字即可

注意:關鍵字不能重復,關鍵字不能重復,關鍵字不能重復

關鍵字維護文件config.yaml,示例:

 

 如需新增content_type,則需要改動對應代碼和維護config.yaml(同上):

 如果對自動化測試有興趣,歡迎一起交流,qq:248313385


免責聲明!

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



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