接口测试思路

接口测试思路:

发送请求:请求行 请求头 请求体
1.是否需要cookie,需要的话就实例化Session类
2.请求类型(get,post,put,delete),api,再看参数
3.请求url里的参数分为两种,如果是urlencoded格式的参数,则传递给params
如果是其他格式,那么采用字符串拼接的做法形成新的url
请求消息体里的参数传递给data参数。
如果请求消息体数据格式是json格式,那么可以传给data参数接收,格式是data=json.jumps(payload)
或者传递给json参数接收,这样既不需要用json.dumps再处理一遍,直接写data=payload

res = s.post('http://127.0.0.1/api/mgr/orders', params=urlpara,
headers=header_data,data=payload(或者json=payload))




响应请求:响应头 响应行和响应体
获取响应行:response.status_code
获取响应头:response.headers
通常响应头都有很多个参数,由于这个返回的结果是字典的子类,所以我们可以处理一下返回数据的格式
for k,v in response.headers.items():
print(f'{k}:{v}')
获取响应体数据:
(1)直接获取响应体字符串内容 response.text
如果担心乱码,可以手动指定一下编码:
response.encoding='utf8'
response.text
(2)直接获取响应体的字节串内容 response.content
这样获取的就是字节串数据,形如"\xe8\xae\xa2\xe5\x8d\x951"
如果想转换成字符串数据,就解码一下
response.content.decode('utf8')

(3)如果消息体数据的格式是json格式,而且后续我们需要处理这个json格式数据,
那么我们可以将它转换成python里的字典类型,方便后续处理
dic1=response.json()
print(dic1)

注意事项:看接口文档的时候一定要看清楚是get请求还是post请求。对于get请求,一般是传url参数,传递给params;
对于post请求,一般是传消息体信息,这个要传递给data参数。重点是要看清楚接口文档,
看看人家说得到底是url参数还是消息体内容,搞清楚,不要乱写,按规则来!!!!
切记切记!!!!!我写教学系统接口的时候,别人文档里明明写清楚了要发的是post请求,但是我一直把他传给params参数了。
运行代码提示我某个消息体找不到,我还在那里纠结,说我都传了啊。

但是没传到对的参数上去。深刻教训,下次这种类型的问题排查错误就好好排查按步骤排查,先判断请求,然后判断穿的是哪部分数据。
不过我已经挺棒的了,但是可以更棒呀~加油!!
 
posted @ 2022-01-03 22:12  今天也是开心的一天呀  阅读(112)  评论(0)    收藏  举报