request全局观
请求:request.get() request.post() request.delete() request.put() request.request()最核心的方法
响应:rep = request.request()
rep.text 返回字符串 rep.content返回字节格式的数据 rep.json()返回字典格式的数据
rep.status_code返回状态 rep.cookies返回cookies rep.encoding返回编码格式
rep.headers 返回响应头数据
请求方式
get post delete put
请求参数类型 键值对 JSON格式 文件格式
接口的参数习惯性使用data 他是一个字典类型 data = { 参数之间使用逗号分隔 }

post方式传参
字符串的拼接 双引号 双加号
发送post请求(data和json只需要传一个)
线性脚本 NO 使用pytest用例管理框架 有默认规则
py文件必须以test_开头或者test_结尾
类名必须以Test开头 测试用例必须以test_开头
如何运行 ?
if _name_ == '_main_' :
pytest.main(['-vs'])
设置全局变量:全局变量通过类名来访问
注意事项:get请求通过params来传递参数
post请求通过json或者data传参 他们有什么区别?
data:
数据报文:dict字典类型的,那么默认情况下请求头:application/x-www-form-urlencoded以form表单的方式传参,格式:a=1&b=2&c=3
数据报文:str类型,那么默认情况下:text/plain(如果是字典格式的需要转换成str格式传参)
json
数据报文:不管是dict还是str类型,默认都是application/json,格式{"a":1,"b":2}
json.dumps(data) 把字典格式的数据转换为str格式 序列化
json.loads(data) 把str格式转换为字典格式 反序列化
data只能传简单的只有键值对的dict或者str json一般只能传dict格式(简单的复杂的都可以)
文件上传 用files传参
不能直接给图片路径 open(r”E:\shu.png“,”rb“)
需要带请求头的接口 正则表达式获取
re.search()
没有请求头的返回html文本 所以响应数据转换json的时候python报错

cookie鉴权

常用的方式session方式鉴权cookie 引出接口自动化框架封装的第一步,统一请求方式

