什么是接口:
简单来说,接口就是用来连接客户端和服务端的东东,通常使用JSON格式来传递数据,因为这样可以避免由于不同编程语言在传输数据时产生的各种问题. 当然也有采用XML格式来传输的.
它主要包含了下面几方面:
- 地址(URL):有了地址我们才能访问(调用)指定的(要进行测试的)方法(功能)等
- 请求参数:根据业务要求的不同,不同的功能需要的参数千差万别,请求参数包含必要参数及非必要参数,一般情况下我们仅关注必要参数即可,但针对不同的业务场景或者需求类型,也要考虑后台服务对于非必要参数的处理,以及针对列表(表单)数据,如同一个栏位含有多条记录的处理情况
- 请求方式:是采用get请求还是post请求呢,需要参考接口文档,或者直接的与开发沟通
- 返回报文:一般测试是针对后台服务端的具体功能,比如注册,登录,增删改查等,主要关注返回的参数,及参数值得含义,针对不同的项目要求,也有需要针对接口的输入输出结果进行比对检查,比如涉及到大型系统中交换模块的数据透传功能等
接口测试:
简单来说,接口测试就是抛开了界面UI的功能测试,不需要关注UI,直接调用接口url,录入参数值,提交,接收返回报文;也有一部分系统(非客户端)没有UI,抛开全链路测试来说,只能通过调用接口的方式进行测试,比如交换模块等
接口测试一般采用get请求或者post请求方式:
- GET : url可以直接拼接参数进行传递,拼接的方式为 url+?+参数名=参数值+(&参数名=参数值).... 根据不同的参数要求,使用&进行参数间的拼接
举个栗子: http://api.xxxx.cn/xxx/xxx/xxx?username=test&password=123456
注:get请求是可以在浏览器-地址栏中直接发送的
- POST : 需要借助工具发起,比如Postman
Get请求和Post请求的区别
- get请求参数有长度限制,post请求没有
- get请求没有body,所有的参数都是拼接到url中的,而post请求参数是放到body中的
- get请求比post请求安全-----这点参考第二个区别,get请求是明参,url中可见,而post请求中url不含参数,所有的参数都在body中,所以看起来安全一些(仅仅是表面上的而已)
POSTMAN的基本使用:
基本的post请求发送:
先上个登录后的图吧
- 请求方式选择POST 后面的地址栏录入需要调用的URL
- 录入参数我们可以选择body - formdata 进行录入,其中key代表参数名 value代表参数值
也有接口会指定参数类型,比如json,此时我们可以选择body-raw 此时在BETA后面会新增一个下拉列表选项,我们可以指定json,在输入框中录入json格式参数即可
还有一些请求需要添加本机保存的cookie信息,可以在header中的key添加cookie的参数名,value 添加cookie的值,cookie的值可以通过抓包获取到
抓包获取cookie
- 录入完毕点击send发送请求,下方会显示返回报文,同时我们可以看到请求返回的状态码,耗时等信息
另外,Postman同样可以发起上传文件的请求:
在body-formdata中录入参数名后,我们可以选择是TEXT类型还是File类型,如果是Text类型,则需要在value中录入参数值,如果是File类型则需要选择需要上传的文件