我們在做自動化的時候,肯定是代碼越簡潔越好,代碼重複量越少越好,這裏呢,我們可以通過把requests的請求類型都封裝起來,這樣編寫用例的時候可以直接進行請求
requests方法封裝
我們通常用的最多的是get和post請求類型,就先拿這兩個請求進行舉例寫一些個人的思路(大佬勿噴!!!)
1、創建一個類,把get請求和post請求分別寫成一個方法。方便調用
2、每個請求的參數可能不同,這個我們需要全部涉及到,可以通過**kwargs進行添加。
3、新建一個運行方法,判斷請求類型。
import requests
class TestRequests():
def get(self,**kwargs):
'''封裝get方法'''
# 獲取請求參數
params = kwargs.get("params")
headers = kwargs.get("headers")
url = kwargs.get('url')
try:
result = requests.get(url=url,params=params,headers=headers)
return result
except Exception as e:
print("get請求錯誤: %s" %e)
def post(self,url,**kwargs):
'''封裝post方法'''
# 獲取請求參數
params = kwargs.get("params")
data = kwargs.get("data")
json = kwargs.get("json")
files = kwargs.get("files")
try:
result = requests.post(url,params=params,data=data,json=json,files=files)
return result
except Exception as e:
print("post請求錯誤: %s" %e)
def run_main(self, method, **kwargs):
'''
判斷請求類型
:param method: 請求接口類型
:param kwargs: 填參數
:return: 接口返回內容
'''
if method == 'get':
result = self.get(**kwargs)
return result
elif method == 'post':
result = self.post(**kwargs)
return result
else :
print('請求接口類型錯誤')
if __name__ == '__main__':
x =TestRequests()
result =x.run_main('post',url='http://apis.juhe.cn/simpleWeather/query',data={'key':'331eab8f3481f37868378fcdc76cb7cd','city':'上海'})
print(result.json())
通過執行後,直接可以看到已經請求成功了。後續可以直接通過調取方法,直接進行使用
安靜簡單的對requests請求類型進行封裝,如果那裏有不對的或者不懂的地方,可以直接下方留言,看到後第一時間回覆~~
大佬們也可以幫助安靜優化下代碼哈~~共同學習,共同進步~~