首页 > 其他分享 >【接口自动化测试】Requests库的应用

【接口自动化测试】Requests库的应用

时间:2024-09-20 18:23:18浏览次数:11  
标签:请求 url res 接口 对应 自动化 print Requests requests

1、Requests官网介绍

https://cn.python-requests.org/zh_CN/latest/

2、Requests库安装

安装命令

pip install requests

如果比较慢的情况下:指定一下镜像 (pip install 包名 -i 镜像地址)

​pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple

Requests接口测试操作步骤

1. 导入对应的包: import requests

2. 弄清楚对应的接口四要素:接口URL、请求方法、请求参数、响应数据,

3. 把这些内容用代码依次实现。

3、Requests库常用方法及参数详解

3.1、常用方法

requests.request()

requests.get()

requests.post()

requests.put()

...

3.2、请求参数详解

requests.request(method, url, **kwargs)
  • method:请求方式:GET, PUT,POST,HEAD, PATCH, delete, OPTIONS7种方式
  • url:网络链接
  • kwargs: (13个可选参数)

参数值

参数概述

params

字典或者字节序列,作为参数增加到url中

json

JSON格式的数据,作为requests的内容

headers

字典,HTTP定制头

data

是第二个控制参数,向服务器提交数据,[POST请求用的居多]

cookies

字典或CookieJar, Requests中的cookie

auth

元组,支持HTTP认证功能

files

字典类型,传输文件

timeout

设置的超时时间,秒为单位

proxies

字典类型,设定访问代理服务器,可以增加登录认证

allow_redirects

True/False,默认为True, 重定向开关

stream

True/False,默认为True,获取内容立即下载开关

verity

True/False,默认为True, 认证SSL证书

cert

本地SSL证书路径

4、常用的响应( Response)数据

4.1、状态码

状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类别:

1xx:指示信息--表示请求已接收,继续处理 2xx:成功--表示请求已被成功接收、理解、接受 3xx:重定向--要完成请求必须进行更进一步的操作 4xx:客户端错误--请求有语法错误或请求无法实现 5xx:服务器端错误--服务器未能实现合法的请求

4.2、常见状态码

200 OK//客户端请求成功 400 Bad Request//客户端请求有语法错误,不能被服务器所理解 401 Unauthorized//请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 403 Forbidden//服务器收到请求,但是拒绝提供服务 404 Not Found//请求资源不存在,eg:输入了错误的URL 500 Internal Server Error//服务器发生不可预期的错误 503 Server Unavailable//服务器当前不能处理客户端的请求,一段时间后可能恢复正常

4.3、代码演示

"""
常用的查看请求和响应的数据
"""

import requests
# 案例三:当URL有对应的参数,可以通过params 进行指定
url = "http://shop-xo.xxxxxx.com"
api_url = "s=api/index/index"
res = requests.get(url=url, params=api_url)
# 案例一: 查看对应的首页信息
# url = "http://shop-xo.xxxxxx.com/"
# res = requests.get(url=url)
# ----------------获取对应的响应数据--------------------
# 1. 获取对应的请求URL
print(res.url)
# 2. 获取对应响应数据并且以文本信息显示
print(res.text)
# 3. 获取对应响应数据并且以JSON格式显示,如果你的数据非Json格式则会报错
print(res.json()) # 用案例三可以看到效果
# 4. 获取对应响应数据并且以字节方式显示,会自动为你解码 gzip 和 deflate 压缩
print(res.content)
# 5. 获取响应的状态码
print(res.status_code)
# 6. 获取对应的响应头 ,数据显示是什么格式由:'Content-Type': 'text/html; 决定
print(res.headers)
# ----------------获取对应的请求数据--------------------
# res.request.方法
# 对应的请求方法
print(res.request.method)

5、GET请求代码演示

# 请求方法一
requests.request(method='GET', url, **kwargs)

# 请求方法二
requests.get(url, params=None, **kwargs)

# url: 页面的url链接
# params: url中的额外参数,字典或字节流,非必选
import requests
# 案例一: 查看对应的首页信息
url = "http://shop-xo.xxxxxx.com/"
res = requests.get(url=url)
# 获取对应的文本信息
print(res.text)

# 案例二:方法一,查看对应的首页数据,完整的URL
url = "http://shop-xo.xxxxxx.com?s=api/index/index"
res = requests.get(url=url)
# 获取对应的请求URL
print(res.url)
# 获取对应的文本信息
print(res.text)

# 案例三:当URL有对应的参数,可以通过params 进行指定
url = "http://shop-xo.xxxxxx.com"
api_url = "s=api/index/index"
res = requests.get(url=url, params=api_url)
print(res.url)
print(res.text)

标签:请求,url,res,接口,对应,自动化,print,Requests,requests
From: https://blog.csdn.net/weixin_46337259/article/details/142356402

相关文章

  • 米尔STM32MP2核心板首发新品上市!高性能+多接口+边缘算力
    米尔发布基于STM32MP257设计的嵌入式处理器模块MYC-LD25X核心板及开发板。核心板基于STM32MP2系列是意法半导体推出最新一代工业级64位微处理器,采用LGA252PIN设计,存储配置1GB/2GBLPDDR4、8GBeMMC,具有丰富的通讯接口,适用于高端工业HMI、边缘计算网关、新能源充电桩、储能EMS系......
  • vue2实现监听usb接口的扫码器,获取扫码数据。
    原理扫码枪本质就是一个快速输入+回车(注意:扫码输入法要设置英文,不然会乱码)全局安装importscannerfrom'./install';Vue.use(scanner);使用exportdefault{data(){return{items:[],//扫码结果isStart:false//是否开启扫码}......
  • 【ACM出版|EI会议】2024年工业自动化与机器人国际学术会议(IAR 2024)
    2024年工业自动化与机器人国际学术会议(IAR2024)将于2024年10月18-20日在新加坡隆重召开。会议将围绕“工业自动化”与“智能机器人”等相关最新研究领域,为来自国内外高等院校、科学研究所、企事业单位的专家、教授、学者、工程师等提供一个分享专业经验,扩大专业网络,面对面交流......
  • 多语言长文本 AI 关键字提取 API 数据接口
    多语言长文本AI关键字提取API数据接口AI/文本专有模型极速提取多语言长文本/实时语料库。1.产品功能支持长文本关键词提取;多语言关键词识别;基于AI模型,提取精准关键词;全接口支持HTTPS(TLSv1.0/v1.1/v1.2/v1.3);全面兼容AppleATS;全国多节点CDN部署;......
  • 为什么企业需要空号检测API接口
    在移动互联网蓬勃发展的今天,手机已深深融入我们的日常生活中,它提供了一种直接而便利的沟通渠道。对于商业活动来说,特别是那些采用手机短信或电话作为主要通信方式的行业,比如金融、电商和营销等,良好的沟通效果对于他们来说至关重要。然而,在这个过程中,一项让他们苦恼的问题就是如......
  • 如何高效利用API进行电商开发:淘宝API接口详解
    淘宝(AlibabaGroup)提供了丰富的API接口供开发者使用,这些接口可以帮助开发者在淘宝平台上实现各种功能,如商品搜索、交易管理、订单处理等。对于电商开发者来说,高效利用淘宝API进行开发至关重要。以下是一些关键步骤和技巧,帮助你高效利用淘宝AP进行电商开发:了解淘宝开放平台注......
  • 写了一个全自动化漏洞扫描系统(poc_scan_web)
    前言上一个网络安全产品《魔盒安全情报》会不定时给我推送各种最新的漏洞情报,于是就写了一个全自动化漏洞扫描系统。主要原理是通过空间测绘平台和搜索引擎自动采集目标资产,然后再通过封装好的漏洞插件扫描漏洞,最后将结果保存到数据库,再通过系统展示出来。截图任务管理添加......
  • 淘宝商品关键词接口,挖掘商品数据服务
    在当今数字化时代,电子商务平台如淘宝,已成为全球最大的在线零售市场之一。随着市场的不断扩展,对于淘宝商品信息的高效管理和利用变得尤为重要。淘宝商品关键词API接口应运而生,它为商家和开发者提供了一种强大而灵活的方式来访问和利用淘宝的商品数据。一、淘宝商品关键词API接......
  • 【Java】【Swagger】——接口过滤
    在前后端分离时代,Swagger能够实时更新API,十分好用。那么如果根据实际业务需要,展示接口呢?前提已经成功使用Swagger。知道增加 @Bean注解增加分组。此时不同的分组就涉及到不同的过滤。如何过滤接口?增加注解@ApiIgnoreapis():指定包名paths:过滤url增加注解@ApiIgnor......
  • Java中List接口的学习
    List接口目录List接口ArrayListLinkedListVector(过时)Stack(过时)ArrayListArrayList就是动态数组,它提供了①动态的增加和减少元素②实现了ICollection和IList接口③灵活的设置数组的大小ArrayList是一个其容量能够动态增长的动态数组。它继承了AbstractList,实现了List、Ran......