Python接口测试之requests
生活随笔
收集整理的這篇文章主要介紹了
Python接口测试之requests
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.簡介
requests是一個很實(shí)用的Python HTTP客戶端庫,編寫爬蟲和測試服務(wù)器響應(yīng)數(shù)據(jù)時 經(jīng)常會用到,Requests是Python語言的第三方的庫,專門用于發(fā)送HTTP請求2.前提
要下載requests
pip install requests3.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ù)
3.requests請求接口返回狀態(tài)碼
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ù)
3.requests請求接口返回狀態(tài)碼
4.pytest斷言設(shè)置并結(jié)合allure生成測試報告
5.測試報告展示
總結(jié)
以上是生活随笔為你收集整理的Python接口测试之requests的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python单元测试之pytest
- 下一篇: 搭建JMeter+Jenkins+Ant