1,请求正文:数据内容
四种格式:
a,application/x-www-form-urlencoded
对数据进行序列号处理,以键值对形式
key1=value1&key2=value2的方式发送到服务器
b,multipart/form-data
将表单中数据全部上传,包括文件
c,字符串文本格式:raw
text/plain 纯文本,浏览器不解析
text/html html,浏览器自动解析
text/xml 或 application/xml 后者可制定编码格式
application/json,消息主题是系列化后的JSON字符串
4,二进制格式:binary
2,为什么做接口测试
a,弥补传统UI测试的不足
很多系统没有界面,只提供接口功能,无法通过界面的方式进行测试
你只测了前端页面可以测试的功能,服务端的功能你又覆盖了多少?
> 服务费多有的功能接口都正常吗?
> 每个接口返回的每个字段是否正确
> 绕过前端的校验,接口是否有必要的异常处理(长度、非空)
当APP的代码不更新,而服务端代码更新时,直接通过接口自动化测试就能快速知道是否影响APP的功能
b,安全方面 1‘OR ’ 1 ‘=’1
接口返回的字段中,是否包含多余信息(比如用户id,token等敏感字段)
用户密码、其他用户隐私信息传输时都需要进行加密后传输
接口是否存在防刷机制
3,GET请求与POST请求的区别
a,GET请求没有请求体,POST请求有请求体
b,GET请求的参数(需要传递的数据)要放在URL中发送,大小有限制
POST请求的参数可以放在URL后传递,也可以放在请求体z中(大小不受限制)
c,GET安全性相对较差
>参数明文
>数据会被浏览器缓存
d,设计的用途不同
GET用来查询--不操作数据,参数量小
POST用来插入、更新数据--安全要求高,数据量大
GET像轿车,能送货,但能力有限
POST像货车,有货箱(请求正文),运输量大且安全性高