目錄
?6.3讀取數(shù)據(jù)(readDemo)將讀取的數(shù)據(jù)存放在列表中
6.5pytest斷言設(shè)置并結(jié)合allure生成測試報告
一逸爵、Requests介紹
requests是一個很實用的Python HTTP客戶端庫具滴,編寫爬蟲和測試服務(wù)器響應(yīng)數(shù)據(jù)時經(jīng)常會用到,
Requests是Python語言的第三方的庫师倔,專門用于發(fā)送HTTP請求
二构韵、Requests安裝
在PyCharm中安裝requests:
pip install requests
安裝成功:
三、Requests測試接口
3.1get測試接口
1.GET請求
r = requests.get('http://www.baidu.com')
2.GET傳參
payload = {'key1': 'value1', 'key2': 'value2', 'key3': None}
r = requests.get('http://www.baidu.com ', params=payload)
3.1.1get測試案例Demo
import requests
class RequestClass:
# 測試get請求
def requestGetTest1(self):
#第一種get請求
requests.get("url")
# a = requests.get("http://web.juhe.cn:8080/constellation/getAll?consName=獅子座&type=today&key=53bb0cb9ed9b3a0badaf365bd21d6c1e")
# 第二種get請求
requests.get("url",params={"":""})
b = {"consName": "獅子座", "type": "today", "key": "53bb0cb9ed9b3a0badaf365bd21d6c1e"}
a = requests.get( "http://web.juhe.cn:8080/constellation/getAll", params=b)
print(a.text)# 打印請求到的json數(shù)據(jù)信息
print(a.status_code)# 打印請求碼
# 調(diào)用方法
r = RequestClass()
r.requestGetTest1()
運行結(jié)果:
3.2post請求
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.post("http://httpbin.org/post", data=payload)
傳遞文件(了解)
url = 'http://httpbin.org/post'
files = {'file': open('report.xls', 'rb')}
r = requests.post(url, files=files)
#requests.post("url",data={"":""})第一個參數(shù)是url趋艘,第二個參數(shù)是字典格式的參數(shù)
responseData2 = requests.post(i[0], data=i[1])
3.2.1post案例Demo
from RequestDemo.ReadCSV
import ReadCSVClassimport requests
# 導(dǎo)入這個有item[]數(shù)據(jù)的類
r = ReadCSVClass()
aa = r.read()
class RequestsGetAndPostClass:
def getAndPost(self):
item = []
for i in aa:
if i[2] == "get":
responseData1 = requests.get(i[0], params=i[1])
item.append(responseData1.status_code)
else:
responseData2 = requests.post(i[0], data=i[1])
item.append(responseData2.status_code)
return item # 跳出for循環(huán)疲恢,否則只執(zhí)行一次
a = RequestsGetAndPostClass()
hh = a.getAndPost()print(hh)
運行結(jié)果:
四、Requests響應(yīng)
** r.status_code 響應(yīng)狀態(tài)碼 (常用4呻省O匀!4晗簟T邮!H陈濉揍移!)**
r.heards 響應(yīng)頭
r.cookies 響應(yīng)
cookies r.text 響應(yīng)文本
r. encoding 當前編碼
r. content 以字節(jié)形式(二進制)返回
五、Request擴充
1:添加等待時間 requests.get(url,timeout=1) #超過等待時間則報錯
2:添加請求頭信息 requests.get(url,headers=headers) #設(shè)置請求頭
3:添加文件 requests.post(url, files=files) #添加文件
六反肋、request+pytest+allure生成測試報告
1.讀取文件中的數(shù)據(jù)
2.requests拿到數(shù)據(jù)請求接口返回狀態(tài)碼
3.通過斷言驗證返回狀態(tài)碼和200對比
**4.生成allure的測試報告 **
6.1步驟1
dataDemo(存放數(shù)據(jù))>> readDemo(讀取數(shù)據(jù))
useRequests(發(fā)送請求)>>testDemo(生成報告)