requests库实现接口测试

发布时间 2024-01-07 19:15:39作者: Sakura媛媛

requests库安装

  pip install requests

requests库查验

  pip show requests/pip list

 

cookie+session认证方式

 

例子:获取验证码+商城登录+订单查询(涉及到cookie)

  # 方法一:从获取验证码请求中提取cookie,然后携带到登录+订单查询请求

import requests
'''
resp = requests.请求方法(url = "url地址", params = {k:v}, headers = {k:v},data = {k:v}, json = {k:v}, cookies = "cookie数据")
params:查询参数
headers:请求头
data:表单格式的请求体
json:json格式的请求体

返回的resp是响应结果
'''
# 发送 获取验证码的请求
resp_v = requests.get(url='...')

# 从获取验证码的响应结果中提取cookie
my_cookie = resp_v.cookies

# 发送登录请求
resp = requests.post(url='', data={"username": "13000000000", "password": "123456", "verify_code": "8888"}, cookies=my_cookie)

# 查询响应体(json格式,若返回是json格式)
print(resp.json())  # 登录成功

# 发送订单查询请求
resp_o = requests.get(url="...", cookies=my_cookie)

# 查询响应结果(txt格式,若返回是html)
print(resp_o.text)  # 我的订单页面的html

  # 方法二:创建session对象,直接请求验证码+登录+订单查询,不用携带cookie

import requests
'''
resp = requests.请求方法(url = "url地址", params = {k:v}, headers = {k:v},data = {k:v}, json = {k:v}, cookies = "cookie数据")
params:查询参数
headers:请求头
data:表单格式的请求体
json:json格式的请求体

返回的resp是响应结果
'''
# 实例化一个session对象
session = requests.Session()


# 发送 获取验证码的请求
resp_v = session.get(url='...')


# 发送登录请求
resp = session.post(url='', data={"username": "13000000000", "password": "123456", "verify_code": "8888"})

# 查询响应体(json格式,若返回是json格式)
print(resp.json())  # 登录成功

# 发送订单查询请求
resp_o = session.get(url="...")

# 查询响应结果(txt格式,若返回是html)
print(resp_o.text)  # 我的订单页面的html

 

cookie和session的区别

   1、数据存储位置:cookie存储在浏览器中;session存储在服务器中

   2、安全性:cookie中的数据可以随意获取,没有安全性;session的数据多为加密存储,安全较高

   3、数据类型:cookie支持的数据类型受浏览器限制较少;session直接使用服务器存储,支持所有数据类型

   4、大小:cookie大小默认4k;session大小为服务器存储空间大小