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