一、接口测试和接口自动化测试行情
目前主流的接口测试工具:( 中小型公司、项目 )
Postman+Newman+Git+Jenkins
Jmeter+Ant+Git+Jenkins
目前主流的接口自动化测试技术:( 大型的公司、项目)
python+requests+pytest+allure+jenkins
二、requests库简介
requests用来发送http请求以及接收http响应的python第三方库,主要用于接口自动化测试
pip install requests
三、requests库常用的方法
1.requests.get() url是接口地址,params用于传参
2.requests.post() url是接口地址,data用于传参,json也适用于传参
data和json传参的区别:主要是通过请求头Content-Type来区分
Content-Type:作用是服务器要求传入的报文的内容类型
请求:请求方式,请求路径,请求头,请求正文。
Postman四种传参方式对应的Content-Type的值如下:
form-data对应的Content-Type : multipart/form-data; boundary=<calculated when request is sent> #文件上传
x-www-from-urlencoded对应的Content-Type : application/x-www-form-urlencoded #表单提交
raw分为以下几种:
text对应的Content-Type : text./plain
javscript对应的Content-Type : application/javascript
json对应的Content-Type : application/json
html对应的Content-Type : text/html
xml对应的Content-Type : application/xml
binary对应的Content-Type : application/binary
data和json传参跟Content-Type的关系如下:
1.服务器要求Content-Type:application/x-www-form-urlencoded,则需要,data传参:报文是dict类型
服务器要求Content-Type:text./plain,则需要,data传参:报文是str类型
2.服务器要求Content-Type:application/json,则需要,json传参:报文可以是dict类型
所以:
data:可以传纯键值对的dict(非嵌套的dict),也可以传str格式(如果是嵌套字典那么就需要使用ison.dumps()把嵌套字典转化成ison字符串传参)
json:可以传任何形式的dict( 包括嵌的dict)
#json.loads() 把json字符串转化成dict格式
#json.dumps() 把dict格式转化成ison字符串
3.requests.put()
4.requests.delete()
5.requests.request() 可以发送所有类型的请求:get,post,put,delete
不管是get还是post还是put和delete都是调用的requests.request方法。而requests.reques方法调的是session.request方法。
method 请求方式
url 请求路径
params=None get方式传参
data=None post方式传参
json=None post方式传参
headers=None 请求头
cookies=None 请求cookie
files=None 文件上传
四、requests模块返回的response对象详解
res.json() 获得返回的字典格式的数据
res.text 获得返回的字符串格式的数据
res.content 获得返回的bytes(字节)类型的数据
res.status_code 返回状态码
res.reason 返回状态信息
res.cookies 返回cookie信息
res.headers 返回响应头
res.request.xxx 返回请求的数据,如:请求头,请求参数等
五、请求必须带请求头的接口,以及需要cookie鉴权和session鉴权的接口
90%以上的基于web的接口都有cookie鉴权。
两种解决方式
1使用ookie关联
2使用session关联 一般用这种方式
标签:传参,请求,接口,Content,json,自动化,requests,Type From: https://www.cnblogs.com/vorn/p/17391927.html