request + pytest

这篇博客介绍了如何利用Python的requests库进行接口自动化测试,包括无参数和有参数的GET请求,以及通过pytest进行断言判断接口状态码是否正常。文章中还展示了如何从CSV文件读取数据,然后调用接口并检查返回状态码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接口自动化request + pytest
requests
requests定义
requests响应
发送无参数的get请求
发送有参数的get请求
模块总览
将读取的数据存放到列表中
requests请求接口返回状态码,并使用断言
requests
requests定义

requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到,Requests是Python语言的第三方的库,专门用于发送HTTP请求
requests响应
r.status_code 响应状态码
r.heards 响应头
r.cookies 响应cookies
r.text 响应文本
r. encoding 当前编码
r. content 以字节形式(二进制)返回
最常用的是根据响应状态码判断接口是否连通,经常用于做接口中断言判断
发送无参数的get请求
import requests
class Baidu():
def methon(self):
r = requests.get(“http://apis.juhe.cn/mobile/get?phone=13611130750&type=&key=e051969849556bb1bc1e19c73c813d52”)
print®

baidu = Baidu()
baidu.methon()
在这里插入图片描述
发送有参数的get请求
import requests
class Baidu():
def methon(self):
ps = {“phone”: 13611130750, “key”: “e051969849556bb1bc1e19c73c813d52”}
# 将参数传到ph里面
ph = requests.get(“http://apis.juhe.cn/mobile/get”, params=ps)
print(ph.text)
# 获取状态码
status = ph.status_code
print("------------")
print(status)
baidu = Baidu()
baidu.methon()
在这里插入图片描述
模块总览
dataDemo(存放数据)>> readDemo(读取数据)
useRequests(发送请求)>>testDemo(生成报告)

在这里插入图片描述
在这里插入图片描述
将读取的数据存放到列表中

接口

url,params,methon
http://japi.juhe.cn/qqevaluate/qq,{“qq”:“2962863689”,“key”:“9aaf2d20b591e6e94edf97c1c64d290e”},post
http://apis.juhe.cn/mobile/get,{“phone”:“13611130750”,“key”:“e051969849556bb1bc1e19c73c813d52”},get
import csv
class Resd_Csv():
def resd_csv(self):
item = []
r = csv.reader(open("…/dataDemo/testdemo.csv",“r”))
# 循环获取csv中的数值,并添加到item中
for i in r:
item.append(i)
# 获取下标值为 1 的值和他后面的数据
item = item[1:]
return item

r = Resd_Csv()
a = r.resd_csv()
print(a)
在这里插入图片描述
requests请求接口返回状态码,并使用断言

接口

url,params,methon
http://japi.juhe.cn/qqevaluate/qq1324,{“qq”:“2962863689”,“key”:“9aaf2d20b591e6e94edf97c1c64d290e”},post
http://apis.juhe.cn/mobile/get,{“phone”:“13611130750”,“key”:“e051969849556bb1bc1e19c73c813d52”},get

from readDemo.resd_csv import Read_Csv
import requests

r = Read_Csv()
aa = r.read_csv()

print(aa)

class RequestsClass():
def requests_method(self):
item = []
for j in aa:
if j[2] == “get”:
rr = requests.get(url=j[0], params=j[1])
item.append(rr.status_code)
else:
rr = requests.post(url=j[0], data=j[1])
item.append(rr.status_code)
return item

r = RequestsClass()
ee = r.requests_method()
print(ee)

from useRequests.requestsuse import RequestsClass
import pytest

查看传过来的状态码是否正常

r = RequestsClass()
a = r.requests_method()

print(a)

创建一个类,进行断言

class TestClaa():
def test_one(self):
# 循环取出数据并进行断言
for i in a:
assert i == 200
if name == ‘main’:
pytest.main([“test_one.py”])
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值