会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
大话人生
博客园
::
首页
::
新随笔
::
联系
::
订阅
::
管理
公告
接口自动化之requests-2
接口自动化之requests-2
接口自动化之requests
一、接口测试以及接口自动化的行业
二、requests库简介
三、全面认识requests库
中小型企业或者项目的接口自动化框架内
postman+newman+git/svn+jenkins
jmeter+ant+git/svn+jenkins
接口自动化测试遇到的弊端
1.敏捷开发时代,接口数量巨大,工具无法做到团队协作和版本控制
2.功能写死了,对于一些复杂的接口(自定义加密以及签名接口)难以实现或者无法实现
3.项目里面有多种协议的接口:http,webservice,websocket,dubbo,实现困难
4.排错、定位问题困难
5.和甲方对接没有美观的HTML报告
6.多接口串联,数据库连接,日志监控
7.有些公司既要做接口自动化,又要做web自动化,接口+web结合
python的第三方库,主要用于做接口自动化测试
安装
pip install requests
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
请求
响应
requests.get()
response.json()
requests.post()
requests.put()
requests.delete()
requests.request()
get请求
通过params传参(dict-字典类型数据)
post请求
通过data和json传参
1.使用data传参
参数是dict-字典类型
2.使用json传参
默认请求头Content-Type:application/x-www-urlencoded,表示通过表单格式
格式:a=1&b=2
参数是str-字符串类型
默认请求头Content-Type:text/plain,表示通过文本格式
重要的请求头
Content-Type
传值的内容的格式
application/x-www-urlencoded
表单
multipart/form-data
表单中有文件上传
text/plain
文本
binary
二进制文件
Accept
客户端接收数据格式
X-Requested-With
异步请求
User-Agent
客户端的用户类型
Cookie
Cookie信息
参数是dict或者str
默认请求头Content-Type:application/json, json格式
格式:{"a":"1","b":"2"}
总结
data传参是字典或者字符串,json传参都是字典类型的,可以是键值对或者非键值对(值为一个列表、字典、字符串类型的列表或者字典)
put请求
通过data传参
delete请求
一般没有参数,只有url
request请求,所有其他请求都是用这个核心方法
参数
method
请求方式
GET
POST
PUT
DELETE
OPTIONS
HEAD
PATCH
url
请求路径
params
GET方式传参
data
json
headers
cookies
POST方式或者PUT方式传参
POST方式传参
请求头
files
auth
timeout
allow_redirects
proxies
cookie关联
文件上传
鉴权认证
发送数据的超时
可以只有连接时间
也可以传入连接时间和读取时间
允许重定向的请求
GET
POST
PUT
DELETE
OPTIONS
HEAD
PATCH
allow_redirects
是否允许重定向
True-允许
False-不允许
代理
verify
验证
stream
是否流内容
False-响应内容很快返回
cert
传递ssl证书
把返回值转化为一个dict对象
response.text
response.content
response.status_code
response.reason
response.cookies
把返回值转化成文本
把返回值转化成字节类型数据
获取返回码
返回信息值
返回cookie信息
response.encoding
response.url
response.elapsed
response.headers
返回编码格式
返回网址url
返回请求时间
返回响应头
response.apparent_encoding
response.history
如:ISO-8859-1
从HTTP header中猜测的响应内容编码方式
返回内容编码格式
如:utf-8
从内容中分析的响应内容编码格式
返回历史记录
response.is_permanent_redirect
返回是否永久重定向
response.is_redirect
返回是否重定向
response.iter_content()
response.iter_lines()
response.links
response.next
返回迭代内容
返回迭代连接相对于iter_content(),只返回有a标签,href行的内容
返回连接
返回下一步
response.raise_for_status()
如果不是200,产生异常request.HTTPError
response.ok
是否返回是ok
response.raw
返回raw
response.close()
关闭请求
response.request
返回请求信息
response.request.path_url
返回请求的路径
response.request.url
返回请求的url
如:https://www.baidu.com/
如:/
response.request.headers
返回请求的头
response.request.method
返回请求的方法
response.request.body
返回请求的主体,如post请求的主体
response.request.hooks
返回请求的钩子
response.request.copy()
返回请求的复制内容
传参时可以将非键值对的字典转为json字符串来传参
json.dumps(dict_value)
将字典格式转为json字符串
json.loads(json_str)
将json字符串转为字典格式
Created With
EdrawMind
posted on
2022-04-15 13:15
大话人生
阅读(
76
) 评论(
0
)
编辑
收藏
举报
刷新页面
返回顶部