国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python —— 接口測(cè)試之使用requests發(fā)起請(qǐng)求實(shí)戰(zhàn)

這篇具有很好參考價(jià)值的文章主要介紹了Python —— 接口測(cè)試之使用requests發(fā)起請(qǐng)求實(shí)戰(zhàn)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1、認(rèn)識(shí)requests模塊

1、requests介紹

requests是一個(gè)第三方庫(kù),因此首先需要安裝這個(gè)庫(kù),安裝三步走:

  1. 安裝:pip install requests
  2. 在文件中引用這個(gè)模塊:import requests
  3. 使用這個(gè)庫(kù)發(fā)起一個(gè)請(qǐng)求(get請(qǐng)求、post請(qǐng)求等)

2、使用requests發(fā)起get或者post請(qǐng)求

1、使用requests的post方法發(fā)起post請(qǐng)求

import requests? 
resp = requests.post(api_url,json=req_data)


2、使用requests的request方法發(fā)起post請(qǐng)求

import requests
  resp = requests.request("post",api_url,json=req_data)

????????說明:這樣做,每調(diào)用一次requests.request就會(huì)去實(shí)例化一次Session類
3、所有的請(qǐng)求都在一個(gè)會(huì)話當(dāng)中

如果是session鑒權(quán)或者coockies鑒權(quán),可以直接利用Session類實(shí)例化。這樣做了就不用額外處理了,直接利用會(huì)話對(duì)象s發(fā)起請(qǐng)求,如下所示:

import requests
s = requests.Session()
? ?resp = s.request(method,api_url,json=req_data)

3、關(guān)于post/put/delete請(qǐng)求中,data參數(shù)和json參數(shù)格式

1、json參數(shù)

json參數(shù):requests庫(kù),針對(duì)請(qǐng)求體格式為application/json的,獨(dú)自寫了一個(gè)json參數(shù)的處理機(jī)制,數(shù)據(jù)類型是字典。因此,如果使用接送傳參,只需要將參數(shù)寫為字典的格式即可發(fā)起請(qǐng)求。


2、data參數(shù)

data參數(shù):data為字典類型,默認(rèn)的請(qǐng)求體格式為的application/x-www-form-urlencoded。

4、Respobse對(duì)象

響應(yīng)數(shù)據(jù)返回主要有幾下幾類:

????????resp.status_code -- 獲取響應(yīng)狀態(tài)碼
????????resp.headers -- 獲取響應(yīng)頭
????????resp.text -- 獲取響應(yīng)數(shù)據(jù)
????????resp.json() -- 把json格式的響應(yīng)數(shù)據(jù),轉(zhuǎn)換成python字典

2、實(shí)戰(zhàn)

1、發(fā)起post請(qǐng)求

1、如何抓包獲取要模擬的接口詳情:

Python —— 接口測(cè)試之使用requests發(fā)起請(qǐng)求實(shí)戰(zhàn),python,開發(fā)語(yǔ)言

Python —— 接口測(cè)試之使用requests發(fā)起請(qǐng)求實(shí)戰(zhàn),python,開發(fā)語(yǔ)言?2、以下編寫代碼:

import requests

# 請(qǐng)求url
url = "https://openapiv5.ketangpai.com//UserApi/login"

'''請(qǐng)求方法'''
method = "post"
# 如果是post請(qǐng)求,需要查看請(qǐng)求頭當(dāng)中的content-type的數(shù)據(jù)格式類型
'''請(qǐng)求體數(shù)據(jù)'''
req_data = {
                "email":"18812345678",  # 隨意寫的
                "password":"f876543",   # 隨意寫的非真實(shí)
                "remember":"0","code":"",
                "mobile":"",
                "type":"login",
                "reqtimestamp":1697007648530}

'''第一種方法:使用requests的post方法發(fā)起post請(qǐng)求'''
# rt = requests.post(url=url,json=req_data)
# '''獲取響應(yīng)的原始數(shù)據(jù)'''
# print(rt.text)
# '''查看獲取響應(yīng)的原始數(shù)據(jù)的數(shù)據(jù)類型'''
# print(type(rt))  # <class 'requests.models.Response'>
# '''把響應(yīng)的json數(shù)據(jù),轉(zhuǎn)換成python字典。'''
# print(rt.json())
# print(type(rt.json()))      # 字典類型
# print(rt.status_code,"\n",rt.headers,"\n\n",rt.cookies)

'''第二種方法:使用request方法發(fā)送post請(qǐng)求'''
respose = requests.request(method,url,json=req_data)
print(respose.text)    # 結(jié)果與上述一致

'''
使用session方法進(jìn)行請(qǐng)求數(shù)據(jù)
'''
s = requests.Session()
resp = s.request(method,url,json=req_data)
print("http響應(yīng)數(shù)據(jù)(原始):",resp.text)

2、發(fā)起get請(qǐng)求

1、盤點(diǎn)一下get請(qǐng)求的參數(shù):

1、params參數(shù):get請(qǐng)求,請(qǐng)求參數(shù)一般是拼接在url后面的,因此請(qǐng)求參數(shù)使用params參數(shù)(字典類型)

2、headers參數(shù):字典類型。用戶項(xiàng)目需要添加到請(qǐng)求頭的,傳參給它。

3、verify參數(shù): 遇到發(fā)起https請(qǐng)求的時(shí)候,要證書。 將verify=False就可以關(guān)掉證書要求,可以發(fā)送https請(qǐng)求

2、代碼實(shí)戰(zhàn)

1、抓包找到我們要做get請(qǐng)求實(shí)戰(zhàn)的接口

Python —— 接口測(cè)試之使用requests發(fā)起請(qǐng)求實(shí)戰(zhàn),python,開發(fā)語(yǔ)言

2、使用代碼編寫get請(qǐng)求發(fā)送

Python —— 接口測(cè)試之使用requests發(fā)起請(qǐng)求實(shí)戰(zhàn),python,開發(fā)語(yǔ)言

注意:接口連貫時(shí),需要添加鏈接點(diǎn)“token”,才可以獲取響應(yīng)的完整信息

from time import sleep
import requests

# 請(qǐng)求url
url = "https://openapiv5.ketangpai.com//UserApi/login"

'''請(qǐng)求方法'''
method = "post"
# 如果是post請(qǐng)求,需要查看請(qǐng)求頭當(dāng)中的content-type的數(shù)據(jù)格式類型
'''請(qǐng)求體數(shù)據(jù)'''
req_data = {
                "email":"18829489142",
                "password":"fangbang666",
                "remember":"0","code":"",
                "mobile":"",
                "type":"login",
                "reqtimestamp":1697007648530}

'''
連續(xù)上個(gè)文件的post請(qǐng)求,從登錄接口中獲取token
'''
'''
使用session方法進(jìn)行請(qǐng)求數(shù)據(jù)
'''
s = requests.Session()
resp = s.request(method,url,json=req_data)
# print("http響應(yīng)數(shù)據(jù)(原始):",resp.text)
# print(resp.json())
# 獲取token,提供給下文
token = resp.json()["data"]["token"]

# 暫停6秒針
sleep(6)

url = "https://openapiv5.ketangpai.com//TourApi/isTourV2"
method = "get"
params = {
            "version" : 32,
            "courseid" : "MDAwMDAwMDAwMLOGy5WHqbdshNtyoQ"
            }
# 往請(qǐng)求頭里面,添加鑒權(quán)的token處理
headers = {"token":token}
# 發(fā)請(qǐng)求的時(shí)候,帶上請(qǐng)求頭
res = requests.request(method,url,params=params,headers=headers)
print(res.text)

結(jié)果如下:

Python —— 接口測(cè)試之使用requests發(fā)起請(qǐng)求實(shí)戰(zhàn),python,開發(fā)語(yǔ)言文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-726850.html

完結(jié),撒花~

到了這里,關(guān)于Python —— 接口測(cè)試之使用requests發(fā)起請(qǐng)求實(shí)戰(zhàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • python接口自動(dòng)化之request請(qǐng)求,如何使用 Python調(diào)用 API?

    python接口自動(dòng)化之request請(qǐng)求,如何使用 Python調(diào)用 API?

    ? ? 尊重原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處,謝謝!!

    2024年02月08日
    瀏覽(38)
  • 接口測(cè)試基礎(chǔ)知識(shí)(使用 Fiddler 抓包、使用 Postman 發(fā)起請(qǐng)求、Postman漢化教程)

    接口測(cè)試基礎(chǔ)知識(shí)(使用 Fiddler 抓包、使用 Postman 發(fā)起請(qǐng)求、Postman漢化教程)

    接口用來(lái)連接軟件系統(tǒng)中的不同模塊,一個(gè)模塊可以通過調(diào)用另一個(gè)模塊的接口來(lái)實(shí)現(xiàn)模塊中的功能 通過接口文檔或抓包來(lái)獲取接口的基本調(diào)用方式 通過獲取的接口信息來(lái)設(shè)計(jì)測(cè)試用例 發(fā)起接口測(cè)試 獲取接口返回的結(jié)果,對(duì)結(jié)果進(jìn)行驗(yàn)證和解析 驗(yàn)證接口URL的設(shè)計(jì)是否符合

    2024年02月11日
    瀏覽(58)
  • Python+Requests+Pytest+Excel+Allure 接口自動(dòng)化測(cè)試項(xiàng)目實(shí)戰(zhàn)【框架之間的對(duì)比】

    Python+Requests+Pytest+Excel+Allure 接口自動(dòng)化測(cè)試項(xiàng)目實(shí)戰(zhàn)【框架之間的對(duì)比】

    ? ? ? ? --------UnitTest框架和PyTest框架的簡(jiǎn)單認(rèn)識(shí)對(duì)比與項(xiàng)目實(shí)戰(zhàn)-------- 定義: Unittest是Python標(biāo)準(zhǔn)庫(kù)中自帶的單元測(cè)試框架,Unittest有時(shí)候也被稱為PyUnit,就像JUnit是Java語(yǔ)言的標(biāo)準(zhǔn)單元測(cè)試框架一樣,Unittest則是Python語(yǔ)言的標(biāo)準(zhǔn)單元測(cè)試框架。 Pytest是Python的另一個(gè)第三方單元測(cè)

    2024年02月09日
    瀏覽(94)
  • python接口自動(dòng)化測(cè)試 requests庫(kù)的基礎(chǔ)使用

    python接口自動(dòng)化測(cè)試 requests庫(kù)的基礎(chǔ)使用

    目錄 簡(jiǎn)單介紹 Get請(qǐng)求 Post請(qǐng)求 其他類型請(qǐng)求 自定義headers和cookies SSL 證書驗(yàn)證 響應(yīng)內(nèi)容 獲取header 獲取cookies requests庫(kù)簡(jiǎn)單易用的HTTP庫(kù) ? 格式: ?requests.get(url)? 注意: 若需要傳請(qǐng)求參數(shù),可直接在?url?最后的???后面,也可以調(diào)用?get()?時(shí)多加一個(gè)參數(shù)?params?,傳入請(qǐng)求

    2023年04月26日
    瀏覽(22)
  • Python接口自動(dòng)化之request請(qǐng)求封裝

    Python接口自動(dòng)化之request請(qǐng)求封裝

    我們?cè)谧鲎詣?dòng)化測(cè)試的時(shí)候,大家都是希望自己寫的代碼越簡(jiǎn)潔越好,代碼重復(fù)量越少越好。那么,我們可以考慮將request的請(qǐng)求類型(如:Get、Post、Delect請(qǐng)求)都封裝起來(lái)。這樣,我們?cè)诰帉懹美臅r(shí)候就可以直接進(jìn)行請(qǐng)求了。 我們先來(lái)看一下Get、Post、Delect等請(qǐng)求的源碼,

    2024年02月13日
    瀏覽(22)
  • 使用Python接口自動(dòng)化測(cè)試post請(qǐng)求和get請(qǐng)求,獲取請(qǐng)求返回值

    使用Python接口自動(dòng)化測(cè)試post請(qǐng)求和get請(qǐng)求,獲取請(qǐng)求返回值

    目錄 引言 請(qǐng)求接口為Post時(shí),傳參方法 ?獲取接口請(qǐng)求響應(yīng)數(shù)據(jù) 我們?cè)谧鰌ython接口自動(dòng)化測(cè)試時(shí),接口的請(qǐng)求方法有g(shù)et,post等;get和post請(qǐng)求傳參,和獲取接口響應(yīng)數(shù)據(jù)的方法; 我們?cè)谑褂胮ython中requests庫(kù)做接口測(cè)試時(shí),在做post接口測(cè)試傳參的時(shí)候,需要傳入請(qǐng)求體,我們把

    2024年02月02日
    瀏覽(33)
  • Python接口自動(dòng)化搭建過程,含request請(qǐng)求封裝

    Python接口自動(dòng)化搭建過程,含request請(qǐng)求封裝

    接口測(cè)試自動(dòng)化好處 顯而易見的好處就是解放雙手??。 可以在短時(shí)間內(nèi)自動(dòng)執(zhí)行大量的測(cè)試用例 通過參數(shù)化和數(shù)據(jù)驅(qū)動(dòng)的方式進(jìn)行測(cè)試數(shù)據(jù)的變化,提高測(cè)試覆蓋范圍 快速反饋測(cè)試執(zhí)行結(jié)果和報(bào)告 支持持續(xù)集成和持續(xù)交付的流程 使用Requests+pytest+allure搭建測(cè)試框架的目的

    2024年02月07日
    瀏覽(31)
  • python request大批量發(fā)送請(qǐng)求調(diào)用接口時(shí),報(bào)錯(cuò):[WinError 10048] 通常每個(gè)套接字地址(協(xié)議/網(wǎng)絡(luò)地址/端口)只允許使用一次。

    python request大批量發(fā)送請(qǐng)求調(diào)用接口時(shí),報(bào)錯(cuò):[WinError 10048] 通常每個(gè)套接字地址(協(xié)議/網(wǎng)絡(luò)地址/端口)只允許使用一次。

    接到一個(gè)項(xiàng)目需求,其中需要調(diào)用到供應(yīng)商的Http? API,因?yàn)橛写罅康臏y(cè)試資源,所以代碼中會(huì)循環(huán)調(diào)用API。 然而在測(cè)試代碼執(zhí)行過程中,過程中偶爾報(bào)錯(cuò): ?此時(shí)看到報(bào)錯(cuò),懷疑是可能是同時(shí)并發(fā)的問題, 但實(shí)際上并未對(duì)該接口進(jìn)行限制,所以應(yīng)該不是這個(gè)的問題,?進(jìn)一

    2023年04月10日
    瀏覽(92)
  • python+requests+excel 接口測(cè)試

    python+requests+excel 接口測(cè)試

    1、EXCEL文件接口保存方式,如圖。 2、然后就是讀取EXCEL文件中的數(shù)據(jù)方法,如下: 3、EXCEL中的數(shù)據(jù)讀取成功后,然后我們需要對(duì)于讀出來(lái)的數(shù)據(jù)進(jìn)行相應(yīng)的處理。如下。當(dāng)然示例中只是簡(jiǎn)單列了一下關(guān)于POST,GET等二種方式,實(shí)際還有很多其它方式,如put,delete等,請(qǐng)求中也還

    2024年02月04日
    瀏覽(22)
  • Python+Requests實(shí)現(xiàn)接口自動(dòng)化測(cè)試

    Python+Requests實(shí)現(xiàn)接口自動(dòng)化測(cè)試

    一般對(duì)于自動(dòng)化的理解,有兩種方式的自動(dòng)化。 第一,不需要寫代碼,完全由工具實(shí)現(xiàn),這種方式的工具一般是公司自己研發(fā)的,方便黑盒測(cè)試人員使用。這種工具的特點(diǎn)是學(xué)習(xí)成本低,方便使用,但是通用性不強(qiáng),也就是換了一家公司,就很有可能無(wú)法使用之前的工具。

    2024年01月16日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包