2023-02-06python接口自動(dòng)化基礎(chǔ)篇

request全局觀

請求:request.get() request.post() request.delete() request.put() request.request()最核心的方法

響應(yīng):rep = request.request()

rep.text 返回字符串 rep.content返回字節(jié)格式的數(shù)據(jù) rep.json()返回字典格式的數(shù)據(jù)

rep.status_code返回狀態(tài) rep.cookies返回cookies rep.encoding返回編碼格式

rep.headers 返回響應(yīng)頭數(shù)據(jù)

請求方式

get post delete put

請求參數(shù)類型 鍵值對 JSON格式 文件格式

接口的參數(shù)習(xí)慣性使用data 他是一個(gè)字典類型 data = {? 參數(shù)之間使用逗號分隔 }

get方式

post方式傳參

字符串的拼接 雙引號 雙加號

發(fā)送post請求(data和json只需要傳一個(gè))

線性腳本 NO 使用pytest用例管理框架 有默認(rèn)規(guī)則

py文件必須以test_開頭或者test_結(jié)尾

類名必須以Test開頭? 測試用例必須以test_開頭

如何運(yùn)行 ?

if _name_ == '_main_' :

? ? pytest.main(['-vs'])

設(shè)置全局變量:全局變量通過類名來訪問

注意事項(xiàng):get請求通過params來傳遞參數(shù)

post請求通過json或者data傳參 他們有什么區(qū)別?

data:?

數(shù)據(jù)報(bào)文:dict字典類型的,那么默認(rèn)情況下請求頭:application/x-www-form-urlencoded以form表單的方式傳參,格式:a=1&b=2&c=3

數(shù)據(jù)報(bào)文:str類型,那么默認(rèn)情況下:text/plain(如果是字典格式的需要轉(zhuǎn)換成str格式傳參)

json

數(shù)據(jù)報(bào)文:不管是dict還是str類型,默認(rèn)都是application/json,格式{"a":1,"b":2}

json.dumps(data) 把字典格式的數(shù)據(jù)轉(zhuǎn)換為str格式? 序列化

json.loads(data) 把str格式轉(zhuǎn)換為字典格式? 反序列化

data只能傳簡單的只有鍵值對的dict或者str json一般只能傳dict格式(簡單的復(fù)雜的都可以)

文件上傳? 用files傳參

不能直接給圖片路徑 open(r”E:\shu.png“,”rb“)

需要帶請求頭的接口 正則表達(dá)式獲取

re.search()

沒有請求頭的返回html文本 所以響應(yīng)數(shù)據(jù)轉(zhuǎn)換json的時(shí)候python報(bào)錯(cuò)

正則

cookie鑒權(quán)?


cookie鑒權(quán)這個(gè)方法不常用

常用的方式session方式鑒權(quán)cookie 引出接口自動(dòng)化框架封裝的第一步,統(tǒng)一請求方式


session鑒權(quán)


注意哦不要定義方法 每次調(diào)用一個(gè)方法就會(huì)生成一次會(huì)話 弄個(gè)全局變量就可以了
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容