接口自动化测试方式与requests库底层方法调用逻辑

1 接口自动化测试方式

1.1 接口测试工具

Postman+Newman+Git/SVN+Jenkins (基于Javascript语言)接口自动化

Jmeter+Ant+Git/SVN+Jenkins (基于Java和BeanShell语言)接口自动化

apifox+apifox-cli+jenkins

1.2 基于代码的接口自动化

Python+Requests+Yaml+Pytest+Allure+Logging+热加载+Jenkins持续集成接口自动化

1.3 基于平台的接口自动化

测试开发

2 requests库底层方法调用逻辑

2.1 requests库底层方法

def get(url, params=None, **kwargs)

def post(url, data=None, json=None, **kwargs)

def put(url, data=None, **kwargs)

def delete(url, **kwargs)

#get,post,put,delete是对此方法的封装调用

def request(method, url, **kwargs)

#回话,web项目中从登录到退出就是一个回话,requests.request调用此方法中的reuqest方法(session.request)。

requests.session()

2.2 post请求的传参方式以及对应的请求头

传参方式

请求头

Content-Type字段

对应参数名

文件

multipart/form-data

files

表单

application/x-www-form-urlencoded

data

文本

application/json

json

text/plain

data

application/javascript

data

text/html

data

application/xml

data

二进制

application/octrent-stream

files

2.3 session中的request方法以及参数用法

def request(
    self,
    method,#请求方式
    url,#请求路径,接口地址
    params=None,#get请求传参,在url中的参数
    data=None,#post或put请求传参(表单/表格)
    headers=None,#请求头
    cookies=None,#Cookie信息
    files=None,#文件上传
    auth=None,#鉴权
    timeout=None,#超时处理
    allow_redirects=True,#是否允许重定向
    proxies=None,#代理
    hooks=None,#钩子
    stream=None,#文件下载
    verify=None,#证书验证
    cert=None,#CA证书
    json=None,#post请求传参
    **kwargs,#可变长度的字典
)

2.4 Response对象 - requests响应结果

res.text 返回文本格式

res.content() 返回bytes字节类型数据

res.json() 返回json数据(字典形式)

res.status_code 返回状态码

res.reason 返回状态信息

res.cookies 返回cookie信息

res.encoding 返回编码格式

res.headers 返回响应头

res.request.*** 返回请求的信息和数据

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值