python接口開發(fā) Python如何實現對系統的API接口功能實現自動化測試?
Python如何實現對系統的API接口功能實現自動化測試?根據題主的描述,題主主要想解決的問題是:如何基于復雜場景(多接口耦合)開展接口自動化測試。最佳實踐:Python Robot Framew
Python如何實現對系統的API接口功能實現自動化測試?
根據題主的描述,題主主要想解決的問題是:如何基于復雜場景(多接口耦合)開展接口自動化測試。
最佳實踐:Python Robot Framework。
上面的最佳實踐也是走了很多坑,蹚出來的。曾嘗試過很多方式,甚至還開發(fā)過基于關鍵字驅動的自動化測試框架。先說說基于場景的自動化有哪些難點,為什么最終選擇Python Robot Framework。
痛點:
- 接口與接口的耦合,使得A接口的輸入依賴a接口的輸入,環(huán)環(huán)相套。(Mock的方式此處不討論)。
- 復雜場景的自動化用例冗長、調試、維護成本高。維護成本高的自動化持續(xù)性很差,大多半途而廢。
- 自動化用例開發(fā)對編碼有一定的要求,不適應不具備編碼能力的人進行自動化用例開發(fā)、維護。
解決思路
借鑒關鍵字驅動測試思想,把接口請求發(fā)送、響應校驗、響應內容返回,三部分封裝成"請求校驗"關鍵字。
同時再封裝"內容提取"關鍵字——提取接口響應體特定數據。這樣就可以獲取上一個接口返回中的特定數據作為下一個接口的輸入參數。
如此。任何場景都可以通過"請求校驗"關鍵字 "內容提取"關鍵字 "請求校驗"關鍵字 …
如何落地
這里就需要考慮選擇哪些方法和工具的問題了,首先關鍵字方法的實現通過Python基于測試庫架構框架的思想開發(fā)相關關鍵字方法。Robot Framework工具核心思想就是關鍵字驅動,使用其Ride進行關鍵字庫、資源導入、用例編寫。這里建議在將關鍵字方法作為庫導入后,用自然語言對每個關鍵字做一次映射,這樣便于業(yè)務測試人員使用。
Robot Framework 同樣支持數據驅動,可以了解一下。
近幾年熱火的Python語言,你認為Python可以干什么?
1、web應用開發(fā)
網站后端程序員:使用它單間網站,后臺服務比較容易維護。
類似平臺如:Gmail、Youtube、知乎、豆瓣
2、網絡爬蟲
爬蟲是屬于運營的比較多的一個場景吧, 爬蟲獲取或處理大量信息:批量下載美劇、運行投資策略、爬合適房源、從各大網站爬取商品折扣信息,比較獲取最優(yōu)選擇;對社交網絡上發(fā)言進行收集分類,生成情緒地圖,分析語言習慣;爬取網易云音樂某一類歌曲的所有評論,生成詞云;按條件篩選獲得豆瓣的電影書籍信息并生成表格等。
3、AI 人工智能 與機器學習
現在的人工智能非常的火爆,各種培訓班都在瘋狂打廣告招生.機器學習,尤其是現在火爆的深度學習,其工具框架大都提供了Python接口。Python在科學計算領域一直有著較好的聲譽,其簡潔清晰的語法以及豐富的計算工具,深受此領域開發(fā)者喜愛。
4、數據分析
一般我們用爬蟲爬到了大量的數據之后,我們需要處理數據用來分析,不然爬蟲白爬了,我們最終的目的就是分析數據,Python在這方面關于數據分析的庫也是非常的豐富的,各種圖形分析圖等 都可以做出來。也是非常的方便?!按髷祿狈治鲋猩婕暗降姆植际接嬎?、數據可視化、數據庫操作等,Python中都有成熟的模塊可以選擇完成其功能。
5、自動化運維:自動化處理大量的運維任務
6、游戲開發(fā)者:一般是作為游戲腳本內嵌在游戲中
7、自動化測試:編寫為簡單的實現腳本,運用在Selenium/lr中,實現自動化。
8、網站開發(fā):借助django,flask框架自己搭建網站。
既然Python是用C實現的,那為什么Python不能直接生成exe呢?
C語言其實是一種比較“古老”而且“底層”的語言。其執(zhí)行效率,僅次于匯編語言。
說其古老,是因為C語言的出現很早。
雖然Fortran、Cobol語言出現比C語言更早,但是現代主流操作系統(Windows、Mac Os、linux、iOS、Android、Unix)全部脫胎于C語言。
說它底層,是因為C語言設計之初就是為了同時編寫匯編語言。理論上可以全部用匯編寫。而匯編語言是執(zhí)行效率最高的語言。
所以Python用C語言寫一點也不奇怪。這和它能不能生成Exe一點關系都沒有。
Exe文件是Windows平臺的私有格式。最簡單的Exe是Com可執(zhí)行文件。Exe文件實際上是一個引導程序 一個解釋程序組成的。
Python語言生成的代碼,只需要配以引導程序和解釋程序,就可以作為Exe文件執(zhí)行。
所以,Python生成Exe文件一點難度都沒有。只是它愿不愿意提供的問題。
為什么Python效率這么低,還這么火?
在很多時候,性能不是瓶頸。大約80%的應用,對性能要求不高。