Requests测试接口 学习基础知识之Requests在PyC

2020-09-22  本文已影响0人  嘤嘤嘤999

目录

一、Requests介绍

二、Requests安装

三、Requests测试接口

3.1get测试接口

3.1.1get测试案例Demo

3.2post请求

3.2.1post案例Demo

四、Requests响应

五、Request扩充

六、request+pytest+allure生成测试报告

6.1步骤1

6.2存储数据

​6.3读取数据(readDemo)将读取的数据存放在列表中

6.4request请求接口返回状态码

6.5pytest断言设置并结合allure生成测试报告

6.6测试报告如下:


一、Requests介绍

requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到,

Requests是Python语言的第三方的库,专门用于发送HTTP请求

二、Requests安装

在PyCharm中安装requests:

pip install requests

image

安装成功:

image

三、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()

运行结果:

image

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)

运行结果:

image

四、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(生成报告)

image

6.2存储数据

image

6.3读取数据(readDemo)将读取的数据存放在列表中

image

6.4request请求接口返回状态码

image

6.5pytest断言设置并结合allure生成测试报告

image

6.6测试报告如下:

image

上一篇 下一篇

猜你喜欢

热点阅读