今天的內容是以前文章中遺漏的,以前只講了配置文件的封裝,配置文件的內容包括,讀取yaml文件的方法,requests.request的請求方法,
向yaml文件中添加數據的方法,template 模板中的substitut的方法等,
以前沒有講公共方法,例如:url,headers的封裝,公共參數單獨放到公共模塊中,這樣方便維護和修改。
其實也簡單,就是新建一個文件夾,例如:取名:common
里面新建一個文件例如:common,
文件中就新建兩個方法了,公共的url和headers
如下:
class common():
def base_url(self):
base_url="www.***********"
return base_url (此處的url是環境信息,也可能是分為測試環境,開發環境,預生產環境,定義在此處的目的就是方便后期修改的時候,只需要修改這個地方,不要在yaml文件中,一個url一個url的修改)
headers={}
def head_common(self):
headers[userid]=...."
headers[client]=....."
........
return headers (這個是公共的請求頭,實際中可能某個接口的請求頭需要更多的參數信息,或者少的信息,我們直接在請求體中補充就可以了。)
補充請求頭信息:例如:
def red_color(self):
url=base_url+"/api/v1/record"
method=data[red_color][method]
headers=base_api().headers_common()
headers[userid]='.....1212121'
json=data[red_color][json]
return base_api().send(url=url,method=method,json=json,headers=headers)
這樣就可以把公共模塊中的base_url和headers帶過來使用了,同時yaml文件中也不需要每個接口都寫一次headers,
后續如果需要修改url這個環境時候,直接再公共模塊中修改就可以了,非常的好維護。
另外補充一個config文件中的一個方法或者類,就是封裝response返回結果的,
在api_base文件中,增加如下代碼:
其中的msgcode,message,data等數據是根據具體的項目來定義的,這里只是提供一個思路,有點類似與requests.request的請求方法。
看看:
最后總結:核心思路就是把易變的,頻繁使用的單獨拿出來,封裝成一個方法,供別人調用。