2023-02-06python接口自动化基础篇

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 = {  参数之间使用逗号分隔 }

get方式

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鉴权 


cookie鉴权这个方法不常用

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


session鉴权


注意哦不要定义方法 每次调用一个方法就会生成一次会话 弄个全局变量就可以了
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容