为什么要进行接口测试:
因为不同端(前段,后端)的工作进度不一样,所以我们要针对最开始出来的接口,以及需要调用其他公司的(银行,支付宝,微信,qq等)一些接口进行接口测试及验证数据,从安全层面来说,只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易),需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。
举两个实例来说明接口测试的运用:
1、比如你在web前段创建一个用户,提示创建失败,这个时候其实你可以直接抛出bug,但是你用接口创建用户,发现是可以创建,此时可以将bug定位为前端的问题
2、如果你们公司前端和后端的开发进度不一致,此时你就可以用postman先做接口测试一下这些功能
先认识一下postman的界面功能:
①:这里这些功能就很简单了,都是一些简单的英文,字面意义就可以理解,不做解释,平时测试用的话就直接new collection就可以了,然后在collection里面添加接口
②:这里可以直接创建一个接口,但是这个接口没有所属collection,所以在Ctrl+s的时候选择将接口save到哪个collection中
③:这里代表的是选择测试环境,前提是你设置好了环境,没有设置的话就是默认显示 no environment,一般这里我都是设置测试环境的,就比如将接口基地址放在环境里面
④:第四部分是选择请求方法,对于请求方法是用哪个不是我决定的,而是看接口文档上怎么约定的,选择对应的请求方法才可以正确的去测试该接口
⑤:第五部分就是接口地址了也可以叫请求头,接口地址可以是接口文档获取,也可以是抓包获取
⑥:第六部分是请求体,请求体里面有各种不同的数据类型,根据接口文档的需求选择对应正确的请求体格式
⑦:响应体里面是接口返回的数据,返回的内容是是后端给出的,同样响应体的数据也是检验该接口的正确性
postman配置一些测试环境
1.配置环境变量,也就是“no environment”这一下拉框
第一步:点击这个“眼睛”的图案,在点击edit
第二步:
2.配置token为全局变量,也就是后置处理器
第一步:在登录接口的Tests里面添加一小段代码,获取响应体里的token并设置为全局变量(代码仅供参考,不会的可以问开发),token有效期一般为10分钟(可以百度搜索一下JWT,去了解token的一些机制),超过时间之后需要重新再登录一次。
获取到的token可以在environment里面看到,在global这一栏里面:
第二步:编辑collection接口集,使其token应用于整个接口集中,完成了这几步操作之后,只要登录了一次服务器,拿到token之后,在规定时间内,该接口集里面的所有接口都可以正常运行。
举例一条配置好所有环境的成功执行的接口测试用例(仅供参考):
①:代表的是测试环境,如果不手动去配置的话,显示的No Environment,配置测试环境的好处就在于,假如有多个测试服务器,并且某些接口集是通用的,此时我就可以不用在通用的接口集里面逐个去修改url,只需要将测试环境切换就可以了。
②:代表该接口的接口地址,我上面是因为将https://172.16.99.1/api/v1这个接口基地址配置在了测试环境中,并且设定变量名为“url”
③:代表的是请求方法,具体用什么方法需要根据接口文档来定
④:代表该接口的请求体,请求体的具体内容需要根据接口文档来
⑤:JSON代表数据格式,
⑥:response代表接口的响应内容。接口是成功与否都会在这显示出来。
简单的一些报错怎么处理
这个错误是代表没有权限,一般这种情况就分为两种原因,一种是因为token失效了,解决方法很简单,只需要重新登录一次就可以了。另一种原因是你拿到了token,但是你这个接口不在配置好的接口集里面,所以无法使用到你获取的token,解决方式只要把这个接口放到已经配置好token的接口集里面即可
API约定:
HTTP Method 行为约定
GET 查询请求,通常是获取单个数据或所有数据
POST 创建请求
PUT 更改请求
DELETE 删除请求
参数传递
GET: URL传递
POST: 内容传递
PUT: 内容传递
DELETE: URL传递
HTTP Code
200: 操作被接受并执行,具体业务状态代码需根据返回结构进一步判定
302: 资源重定向,需按新地址访问
400: 请求无效,需检查请求体
401: Token无效或过期
403: 权限不足,Token有效但权限不足
500: 服务器内部错误
接口测试和F12的抓包息息相关,建议在空闲的时间,多用F12抓包看看返回的一些数据,然后配合postman做接口测试,就可以发现很多有关联的东西。
附上我用postman做接口测试的所有环境截图:
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!