目录
6.3读取数据(readDemo)将读取的数据存放在列表中
一、Requests介绍
requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到,
Requests是Python语言的第三方的库,专门用于发送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数据信息
print(a.status_code)# 打印请求码
# 调用方法
r = RequestClass()
r.requestGetTest1()
运行结果:
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={"":""})第一个参数是url,第二个参数是字典格式的参数
responseData2 = requests.post(i[0], data=i[1])
3.2.1post案例Demo
from RequestDemo.ReadCSV
import ReadCSVClassimport requests
# 导入这个有item[]数据的类
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循环,否则只执行一次
a = RequestsGetAndPostClass()
hh = a.getAndPost()print(hh)
运行结果:
四、Requests响应
** r.status_code 响应状态码 (常用!!!!!!!!)**
r.heards 响应头
r.cookies 响应
cookies r.text 响应文本
r. encoding 当前编码
r. content 以字节形式(二进制)返回
五、Request扩充
1:添加等待时间 requests.get(url,timeout=1) #超过等待时间则报错
2:添加请求头信息 requests.get(url,headers=headers) #设置请求头
3:添加文件 requests.post(url, files=files) #添加文件
六、request+pytest+allure生成测试报告
1.读取文件中的数据
2.requests拿到数据请求接口返回状态码
3.通过断言验证返回状态码和200对比
**4.生成allure的测试报告 **
6.1步骤1
dataDemo(存放数据)>> readDemo(读取数据)
useRequests(发送请求)>>testDemo(生成报告)