1、什么是接口?
接口一般来讲分为两种:
(1)程序内部的接口:方法与方法、模块与模块之间的交互,程序内部抛出的接口,如登录发帖,发帖就必须要登录,如果不登录不能发帖,发帖和登录这两个模块之间就要有交互,就会抛出一个接口,进行内部系统调用。
(2)系统对外的接口:从别人的网站或服务器上获取资源或信息,对方不会提供数据库共享,只能提供一个写好的方法来获取数据,如购物网站和第三方支付之间,购物网站支付时可选择第三方支付方法,但第三方不会提供自己的数据库给购物网站,只会提供一个接口,供购物网站进行调用。
2、接口的分类?
接口分类一般分为两种:
(1)webService接口:走soap协议通过http传输,请求报文和返回报文都是xml格式的。测试时需要通过工具才能进行调用、测试。少数公司还在使用这种接口,如医院等行业。
(2)http api接口:走http协议,通过路径来区分调用的方法,请求和报文都是key-value形式的,返回报文一般都是json串,有get和post等方法。目前来讲,是最常用的。
3、接口返回数据
接口返回的数据一般都是json串,json是一种通用的数据类型,格式为key-value
4、接口测试如何做
(1)、接口测试流程
一、需求评审、熟悉业务和需求;
二、开发提供接口文档
三、编写接口测试用例
四、用例评审
五、提测后开始测试
六、提交测试报告
(2)、接口规范文档
接口文档至少包括:
1、接口说明
2、调用url
3、请求方法(get/post)
4、请求参数、参数类型、请求参数说明
5、返回参数说明
(3)、怎么来测试接口-http接口
接口请求报文拼接:
1、url?param=value¶m2=value
问号前面是请求的url,后面是请求的参数名和参数值,多个参数用&来连接;
2、入参是json串的,不能拼接参数,需要借助工具来完成,如postman。
get和post请求:
如果是get请求的话,直接在浏览器输入就可以了,只要在浏览器里面直接能直接请求到的,都是get请求;如果是post请求,需要工具来发送。
get和post请求的区别:
1、get使用url或cookie传参;
2、post将数据放在body中。
4、HTTP状态码
1、200 2开头的都表示这个请求发送成功,200代表请求ok,服务器也返回了;
2、300 3开头的代表重定向,最常见302,把这个请求重定向到别的地方了;
3、400 4开头的代表客户端发送的请求语法有误,401访问的页面没有权限,403表示没有权限访问这个页面,404代表没有这个页面;
4、500 5开头的代表服务器异常,500代表服务器内部异常,504代表服务端超时,没有返回结果。