requests介面測試

2022-07-10 03:30:17 字數 3190 閱讀 8095

requests是乙個很實用的python http客戶端庫,編寫爬蟲和測試伺服器響應資料時經常會用到,requests是python語言的第三方的庫,專門用於傳送http請求

pip install requests

r  = requests.get('')
payload = 

r = requests.get(' ', params=payload)

案例:測試聚合資料

**

import requests

class userequestclass():

#get傳參的第一種方式

def xwttmethod(self):

r = requests.get("")

print(r.text)

#get傳參的第二種方式

def xwttmethod(self):

params =

r = requests.get("",params=params)

print(r.text)

類似python中的表單提交

payload = 

r = requests.post("", data=payload)

案例:測試聚合資料

**

import requests

class userequestclass():

def xwttpostmethod(self):

params =

r = requests.post("",params=params)

#print(r.status_code)

return r.status_code

r.status_code        響應狀態碼

r.heards               響應頭

r.cookies               響應cookies

r.text                   響應文字

r. encoding           當前編碼

r. content以位元組形式(二進位制)返回

最常用的是根據響應狀態碼判斷介面是否連通,經常用於做介面中斷言判斷

1:新增等待時間

requests.get(url,timeout=1)     #超過等待時間則報錯

2:新增請求頭資訊

requests.get(url,headers=headers)   #設定請求頭

3:新增檔案

requests.post(url, files=files)     #新增檔案

檔案傳輸

url = ''

files =

r = requests.post(url, files=files)

讀取檔案中的資料

requests拿到資料請求介面返回狀態碼

通過斷言驗證返回狀態碼和200對比

生成allure的測試報告

datademo(存放資料)>> readdemo(讀取資料)

userequests(傳送請求)>>testdemo(生成報告)

7.3.1:儲存資料(csv)

7.3.2:讀取資料(readdemo)

**展示

7.3.3:request請求介面返回狀態碼

**展示

7.3.4:pytest斷言設定並結合allure生成測試報告

**展示

import pytest,os,allure

from userequests.userequestsdemo.requestscsv import requestcsv

r = requestcsv()

ee = r.requestscsv()

print(ee)

class testclass02():

def test001(self):

for code in ee:

assert code == 200

if __name__ == '__main__':

pytest.main(['--alluredir', 'report/result', 'test_02csv.py'])

split = 'allure ' + 'generate ' + './report/result ' + '-o ' + './report/html ' + '--clean'

os.system(split)

7.3.5:測試報告展示

7.4.1:儲存資料(xlsx)

7.4.2:讀取資料(readdemo)

**展示

7.4.3:request請求介面返回狀態碼

**展示

7.4.4:pytest斷言設定並結合allure生成測試報告

**展示

import pytest, os

import allure

from userequestsdemo.requestexcel import use_requestexcel

t = use_requestexcel()

f = t.qualification_add()

for i in f:

print(i)

class test(object):

def test_001(self):

for aa in f:

assert aa == 200

if __name__ == "__main__":

# 生成測試報告json

pytest.main(["-s", "-q", '--alluredir', 'report/result', 'test_03excel.py'])

# 將測試報告轉為html格式

split = 'allure ' + 'generate ' + './report/result ' + '-o ' + './report/html ' + '--clean'

os.system('cd d:\install\python/python\test_allure\test/test\report')

os.system(split)

requests介面測試

請求的引數都是字典的型別 響應資料 般使 r.text來獲取,如果響應資料是json格式的,那麼使 r.json 技術棧有哪些?基礎程式設計 單元測試框架 unittest pytest 資料驅動 jenkins持續整合 requests 響應資料 data和json的區別 什麼時候使 json 當...

介面測試框架requests介紹

1.測試框架基本能力 專案管理 pip virtualenv 用例編寫 pytest 執行排程 pytest pycharm shell jenkins 測試報告 allure2 2.http測試能力 請求方法構造 get post put delete head 請求體構造 form json x...

python介面測試之requests庫(一)

一 requests庫的安裝 requests庫作為第三方庫,需要安裝 cmd模式下,執行pip install requests 二 在學習如何傳送請求之前,我們先來了解一下requests庫,檢視一下他有什麼方法 三 模擬傳送get請求 1 傳送不帶引數的get請求 r requests.get...