日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Python接口测试之requests

發(fā)布時間:2025/3/20 python 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python接口测试之requests 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.簡介

requests是一個很實(shí)用的Python HTTP客戶端庫,編寫爬蟲和測試服務(wù)器響應(yīng)數(shù)據(jù)時 經(jīng)常會用到,Requests是Python語言的第三方的庫,專門用于發(fā)送HTTP請求

2.前提

要下載requests

pip install requests

3.Get請求

1.無參數(shù)請求

r=requests.get('http://www.baidu.com')

2.有參數(shù)請求

payload = {'key1': 'value1', 'key2': 'value2', 'key3': None} r = requests.get('http://www.baidu.com ', params=payload)

案例:

import requests class UseRequest():# get傳參的第一種方式def GetMethod(self):r=requests.get("http://v.juhe.cn/toutiao/index?type=guonei&key=4b72107""de3a197b3bafd9adacf685790")print(r.text)# get傳參的第二種方式def GetMethod1(self):params = {"type": "guonei", "key": "4b72107de3a197b3bafd9adacf685790"}r = requests.get("http://v.juhe.cn/toutiao/index", params=params)print(r)u=UseRequest() u.GetMethod() u.GetMethod1()

4.Post請求

類似python中的表單提交

payload = {'key1': 'value1', 'key2': 'value2'}r = requests.post("http://httpbin.org/post", data=payload)

案例:

import requests class UseRequest():# post傳參的方式def PostMethod(self):params = {"type": "guonei", "key": "4b72107de3a197b3bafd9adacf685790"}r = requests.post("http://v.juhe.cn/toutiao/index", data=params)print(r.status_code)# return r.status_codeu=UseRequest() u.PostMethod()

5.requests響應(yīng)

print(r.status_code) # 響應(yīng)狀態(tài)碼 print(r.headers) # 響應(yīng)頭 print(r.cookies) # 響應(yīng)cookie print(r.text) #響應(yīng)文本 print(r.encoding) # 當(dāng)前編碼 print(r.content) #以字節(jié)形式(二進(jìn)制)返回

最常用的是根據(jù)響應(yīng)狀態(tài)碼判斷接口是否連通,經(jīng)常用于做接口中斷言判斷

6.requests擴(kuò)充

1:添加等待時間 requests.get(url,timeout=1) #超過等待時間則報錯 2:添加請求頭信息 requests.get(url,headers=headers) #設(shè)置請求頭 3:添加文件 requests.post(url, files=files) #添加文件

文件傳輸

url = 'http://httpbin.org/post' files = {'file': open('report.xls', 'rb')} r = requests.post(url, files=files)

7.requests+pytest+allure

流程如下

讀取文件中的數(shù)據(jù) requests拿到數(shù)據(jù)請求接口返回狀態(tài)碼 通過斷言驗證返回狀態(tài)碼和200對比 生成allure的測試報告

讀取csv文件流程

1.存儲數(shù)據(jù)

2.讀取數(shù)據(jù)

import csv class ReadCsv():def readCsv(self):item = []rr = csv.reader(open("../data/test_csv.csv"))for csv_i in rr:item.append(csv_i)del item[0]return item r=ReadCsv() print(r.readCsv())


3.requests請求接口返回狀態(tài)碼

import requests from readdata.readcsv import ReadCsvr=ReadCsv() lists=r.readCsv() items=[] class RequestsClass():def requestMethod(self):for i in lists:if i[2]=='get':r=requests.get(i[0],params=i[1])items.append(r.status_code)else:r = requests.post(i[0], data=i[1])items.append(r.status_code)return items req=RequestsClass() print(req.requestMethod())

4.pytest斷言設(shè)置并結(jié)合allure生成測試報告

import pytest,os from requestsdemo.requestcsv import RequestsClass r=RequestsClass() rr=r.requestMethod()class TestRequestsClass():def testCsv(self):for i in rr:assert i==200if __name__ == '__main__':pytest.main(['--alluredir', 'report/result', 'test_csv.py'])split = 'allure ' + 'generate ' + './report/result ' + '-o ' + './report/html ' + '--clean'os.system(split)


5.測試報告展示

讀取excel文件流程

1.存儲數(shù)據(jù)

2.讀取數(shù)據(jù)

from openpyxl import load_workbook class UseExcel():def get_TestExcel(self):# 打開表workbook = load_workbook('../data/test_exc.xlsx')# 定位表單sheet = workbook['Sheet1']print(sheet.max_row) #3 行print(sheet.max_column) #3 列test_data = []#把所有行的數(shù)據(jù)放到列表中for i in range(2,sheet.max_row+1):sub_data = {}#把每行的數(shù)據(jù)放到字典中for j in range(1,sheet.max_column+1):sub_data[sheet.cell(1,j).value] = sheet.cell(i,j).valuetest_data.append(sub_data)#拼接每行單元格的數(shù)據(jù)return test_data t = UseExcel() f = t.get_TestExcel() print(f)


3.requests請求接口返回狀態(tài)碼

import requests from readdata.readexcel import UseExcel u=UseExcel() lists=u.get_TestExcel() items=[] class RequestsExcClass():def requestExcMethod(self):for i in lists:if i.get('method')=='get':r=requests.get(i['url'],params=i['params'])items.append(r.status_code)else:r = requests.post(i['url'], data=i['params'])items.append(r.status_code)return itemsr=RequestsExcClass() print(r.requestExcMethod())


4.pytest斷言設(shè)置并結(jié)合allure生成測試報告

import pytest,os from requestsdemo.requestexc import RequestsExcClass r=RequestsExcClass() lists=r.requestExcMethod()class TestRequestsClass():def testMethod(self):for i in lists:assert i==200if __name__ == '__main__':# 生成測試報告jsonpytest.main(['--alluredir', 'report/result', 'test_exc.py'])# 將測試報告轉(zhuǎn)為html格式split = 'allure ' + 'generate ' + './report/result ' + '-o ' + './report/html ' + '--clean'os.system(split)


5.測試報告展示

總結(jié)

以上是生活随笔為你收集整理的Python接口测试之requests的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产欧美日韩在线观看 | 99亚洲精品 | 污片在线免费观看 | 日韩欧美亚洲一区 | 九九热免费在线视频 | www黄色av| a∨色狠狠一区二区三区 | 16—17女人毛片 | 亚洲视频在线观看免费视频 | 99精品久久久久久久婷婷 | 亚洲色偷精品一区二区三区 | 亚洲啪啪av| 黄色一级在线 | 超碰2020| 国产在线视频你懂的 | 911精品国产一区二区在线 | 极品美女一区二区三区 | 久久九九国产 | 精品电影在线观看 | 精品国产一区二区三区在线观看 | 成人av资源网 | 亚洲国产综合在线 | 中文字幕精品一区二区三区精品 | 欧美精品久久久久久久久久 | 高清av在线 | 黄色成年人网站 | 四虎精品欧美一区二区免费 | 精品一区二区三区四区五区六区 | 高潮网| 久久男女 | 特级黄色一级片 | 99久久香蕉 | 午夜寂寞剧场 | 潘金莲一级淫片aaaaa | 什么网站可以看毛片 | 西西大胆午夜视频 | 污视频导航 | 人人妻人人玩人人澡人人爽 | 综合激情五月婷婷 | 一品毛片 | 亚洲精品一区二区三区四区五区 | 国产激情视频一区二区 | 欧美黑人性xxx | 成人羞羞网站 | 人人妻人人爽欧美成人一区 | 91情侣视频 | 日本成人一区 | 国产精品另类 | 国产成人精品白浆久久69 | 激情欧美网站 | 婷婷国产一区二区三区 | 99综合网| 污片免费看 | 日韩欧美一本 | 日本在线视频免费观看 | 东北少妇不戴套对白第一次 | 91国内精品久久久 | 亚洲一区二区中文字幕 | 午夜伦理在线观看 | 亚洲精品在线视频观看 | 欧美日韩小视频 | 玖玖久久 | 久久亚洲网站 | 韩国伦理在线视频 | 国产精品一区二区三区四区在线观看 | 奇米影视盒 | 亚洲精品国产精品国自产观看浪潮 | 插插久久 | 国产二三区| 国产精品久久综合 | 亚洲xx网 | 国产夫妻性生活 | 午夜18视频在线观看 | av图片在线观看 | 蜜桃视频在线播放 | 亚洲欧美成人 | 欧美一级性 | 综合网天天| 精品国产乱码久久久久久预案 | 亚洲午夜剧场 | 精品国产一区二区三区四区阿崩 | 久久黄网 | 国产福利免费在线观看 | 亚洲黄色片在线观看 | 绿色地狱在线观看 | 超碰97色| 国产精品无 | 欧美一区二区三区系列电影 | 日本一区二区三区成人 | 久久久久国产视频 | 欧美精品久久久久久久久 | 国产精品三级电影 | 97影院手机版 | 中文字幕日韩视频 | 午夜激情视频在线 | 欧美大片在线免费观看 | 亚洲av最新在线网址 | 爱爱一级| 手机看片日韩国产 |