python3+requests:使用類封裝介面測試指令碼
前言:用例較多,我們不可能每個用例都寫一次requests,get或者requests,post等,所以對共用方法要進行封裝處理
第一次修改:將get請求和post請求單獨定義出來,使用過程中根據不同型別的請求直接呼叫對應的方法
1 import requests 2 import json 3 4 def send_post(url,data,headers): 5 response = requests.post(url=url,data=data,headers=headers).json() 6 return json.dumps(response,sort_keys=True,indent=4) 7 8 def send_get(url,data,headers): 9 response = requests.get(url=url,data=data,headers=headers).json()10 return json.dumps(response,sort_keys=True,indent=4)11 12 def run_main(url,headers,method,data=None):13 respose = None14 if method == 'GET':15 respose = send_get(url,data,headers)16 else:17 respose = send_post(url,data,headers)18 return respose19 20 url = ''21 headers = {'Content-Type': 'application/x-www-form-urlencoded'}22 print(run_main(url,headers,method='POST'))
第二次修改:用class進行封裝,主函式中建立一個例項run來呼叫類中的方法
1 import requests 2 import json 3 class Runmain: 4 def send_post(self,url,data,headers): 5 response = requests.post(url=url,data=data,headers=headers).json() 6 return json.dumps(response,sort_keys=True,indent=4) 7 8 def send_get(self,url,params,headers): 9 response = requests.get(url=url,params=params,headers=headers).json()10 return json.dumps(response,sort_keys=True,indent=4)11 12 def run_main(self,url,params,data,headers,method):13 respose = None14 if method == 'GET':15 respose = self.send_get(url,params,headers)16 else:17 respose = self.send_post(url,data,headers)18 return respose19 20 if __name__ == '__main__':21 run = Runmain()22 url = ''23 headers = {'Content-Type': 'application/x-www-form-urlencoded'}24 print(run.run_main(url,params=None,data=None,headers=headers,method='POST'))
第三次修改:第二次修改,每次都需要例項化後再呼叫對應的方法;
改進辦法:使用__init__
方法實現:只要例項化類時候就會呼叫__init__方法
1 import requests 2 import json 3 class Runmain: 4 def __init__(self,url,params,data,headers,method): 5 self.response = self.run_main(url,params,data,headers,method) 6 7 def send_post(self,url,data,headers): 8 response = requests.post(url=url,data=data,headers=headers).json() 9 return json.dumps(response,sort_keys=True,indent=4)10 11 def send_get(self,url,params,headers):12 response = requests.get(url=url,params=params,headers=headers).json()13 return json.dumps(response,sort_keys=True,indent=4)14 15 def run_main(self,url,params,data,headers,method):16 respose = None17 if method == 'GET':18 respose = self.send_get(url,params,headers)19 else:20 respose = self.send_post(url,data,headers)21 return respose22 23 if __name__ == '__main__':24 url = ''25 headers = {'Content-Type': 'application/x-www-form-urlencoded'}26 run = Runmain(url,params=None,data=None,headers=headers,method='POST')27 print(run.response)
備註:對python中類,例項不瞭解的同學,可以參考:
%E9%AB%98%E7%BA%A7python%E7%BC%96%E7%A8%8B%E5%9F%BA%E7%A1%80/python-object-class.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1795/viewspace-2808991/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python+pytest介面自動化之測試函式、測試類/測試方法的封裝Python函式封裝
- python+pytest介面自動化(11)-測試函式、測試類/測試方法的封裝Python函式封裝
- 介面測試(apipost、jmeter和python指令碼)——測試工具APIJMeterPython指令碼
- 介面測試 (apipost、jmeter 和 python 指令碼)APIJMeterPython指令碼
- 介面測試(apipost、jmeter和python指令碼)APIJMeterPython指令碼
- [python] request 介面測試自動化指令碼轉化為 [locust] 效能測試指令碼Python指令碼
- 介面測試使用Python裝飾器Python
- 介面測試:postman的安裝與使用Postman
- PYTHON測試指令碼Python指令碼
- 封裝介面封裝
- Mac 中將指令碼封裝為 AppMac指令碼封裝APP
- 如何使用SHC對Shell指令碼進行封裝和原始碼隱藏指令碼封裝原始碼
- 記錄python介面自動化測試--requests使用和基本方法封裝(第一目)Python封裝
- JMeter 介面自動化測試(手工轉自動化指令碼)JMeter指令碼
- JavaFx 生成二維碼工具類封裝Java封裝
- 面試小能手速成,介面測試指令碼如何編寫?其實很簡單面試指令碼
- 簡訊介面封裝封裝
- 介面測試工具和使用
- linux下expect環境安裝以及簡單指令碼測試Linux指令碼
- [20230510]測試使用tpt ddl指令碼是否產生日誌.txt指令碼
- [20190416]exclusive latch測試指令碼.txt指令碼
- iOS17 效能測試指令碼iOS指令碼
- [20190423]oradebug peek測試指令碼.txt指令碼
- 封裝Date工具類封裝
- 封裝Redis工具類封裝Redis
- Python自動化測試~PO模型封裝Python模型封裝
- 前端ui自動化測試sdk封裝前端UI封裝
- 介面自動化測試錄製工具,讓python selenium自動化測試指令碼開發更加方便Python指令碼
- 前端ajax介面配置封裝前端封裝
- jq介面的封裝方法封裝
- python介面自動化(三十五)-封裝與呼叫--流程類介面關聯(詳解)Python封裝
- node 執行JavaScript 指令碼 測試axiosJavaScript指令碼iOS
- jwt是什麼?php jwt類封裝和使用JWTPHP封裝
- 使用C++/CLI呼叫C#封裝類庫C++C#封裝
- AutoRunner介面自動化測試工具不能錄製指令碼的解決辦法(A)指令碼
- 小程式非同步介面封裝,使用Promise,改良後的。非同步封裝Promise
- c#封裝DBHelper類C#封裝
- 4、類和物件—封裝物件封裝