一、接口测试分类
分类:
测试外部接口:是被测系统和外部系统之间的接口,(一般正常调用就行)
测试内部接口:是被测系统内部各个模块之间的接口
1.内部接口提供给内部系统使用(一般只要正常调用即可)
2.内部接口提供给外部系统使用(测试必须非常全面)
外部:淘宝、京东、支付宝
接口测试重点测试什么?
接口参数传递的正确性,接口功能的正确性,以及各种异常情况系统的容错能力,接口的权限控制,接口的兼容性
二、接口流程,用例设计方案
1.拿到api接口文档(可以从开发拿,也可以自己抓包),熟悉接口文档业务,接口地址,接口鉴权(鉴权是否有访问的权限)方式,接口入参,出参,是否有完善的错误码机制
2.编写接口测试用例以及评审。
思路:
正例:输入正常的入参,接口能够正常返回(post/get)
反例:鉴权反例:必填,错误的鉴权码,鉴权码过期
参数反例:必填,参数类型异常,参数的长度异常
错误码反例:
其他场景:黑名单,接口调用次数限制,分页场景。
接口的兼容性:一个接口是否能够兼容多个版本的前端
3.使用接口测试工具Postman,jmeter执行接口测试,提供bug,以及bug验证。
4.postman+Newman+Jenkins+Git实现持续集成并且生成报告
三、执行接口测试
请求:请求方式,请求路径,请求头,请求参数
Params:get请求传参
Authorization:鉴权
Headers:请求头
accept:客户端接收的数据类型。
content-type:客户端发送给服务器的数据类型
user-agent:客户端的类型
xmlhttprequest:异步请求
Body:post请求传参
none:没有参数
form-data:文件上传(包含键值对和文件上传)
x-www-from-urlencodeed:表单请求(键值对)
raw:使用原始数据格式请求(json,xml,html,text,JavaScript)
binary:二进制文件上传
Pre-request Script:请求之前的脚本。
tests:请求之后的脚本
Settings:设置
Cookies:是postman用于自动管理Cookie的功能
响应
Body:返回的值
Pretty:以不同的格式查看返回结果
Raw:以文本的 格式查看返回结果
Preview:以网页格式查看返回结果
Cookies:响应的Cookie
Headers:响应头
TestResults:断言的结果
调试:
console控制台
面试题:get请求和postman请求的区别是什么?
1.get请求一般用于获取数据,post一般用于提交数据。
2.传参的方式不一样:
get请求再接口地址里面以?的方式传参,多个参数直接用&分隔。
postman是在body里传参
3.post比get请求安全
4.get请求只发一个数据报文,post请求发送两个数据报文
4、接口关联
1.取值并设置全局变量
//打印用于调试
console。log(responseBody)
//把返回的字符串转换成JSON对象
var baili = JSON.parse(responseBody)
console.log(baili.access_token)
2.在需要的接口里面通过{{}}取得全局变量的值
{{token}}