接口测试介绍以及实践超详细篇

项目最近要测试接口,用到工具有postman,jmeter,YAPI(很推荐,可以实现自动化测试),这里就说下前面两位得力大将哈
首先,先了解下接口是啥

接口介绍
接口一般来说有两种:一种是程序内部的接口,一种是系统对外的接口。
系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的,比如说咱们用的app、网址这些它在进行数据处理的时候都是通过接口来进行调用的。
程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,要发帖就得登录,那么这两个模块就得有交互,它就会抛出一个接口,供内部系统进行调用。

前端和后端介绍
前端:比如我们现在看到的网页,用css和html写的;APP页面,用android或者object-C(开发ios上的app)开发的,也做一些简单的校验(如非空校验),负责貌美如花
后端:主要是业务逻辑,功能化的实现,负责赚钱养家
接口:前端和后端交互的方式

常见接口
1、 WebService接口:是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。可以使用的工具有SoapUI、jmeter、loadrunner等;
2、 http API接口:是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式。可以使用的工具有postman、RESTClient、jmeter、loadrunner,YAPI等;

什么是接口测试百度版
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

什么是接口测试简略版
其实主要就是通过不同情况下的入参与之相应的出参信息来判断接口是否符合要求(一般文档也会有入参出参示例),就是通过接口规范文档上的调用地址(url)、请求参数(params,headers,body),拼接报文(raw),然后get/post发送请求,检查返回结果(body)这样子

接口测试组成部分
接口说明,调用URL,请求方法get/post,请求参数(入参和出参),参数类型,请求参数说明,返回参数说明,部分接口有请求头header(是服务器以HTTP协议传HTML资料到浏览器前所送出的字串,在标头与 HTML 文件之间尚需空一行分隔,一般存放cookie、token等信息,如Content-Type application/json)
为什么会有header:它里存放的参数一般存放的是一些校验信息,比如cookie,它是为了校验这个请求是否有权限请求服务器,如果有,它才能请求服务器,然后把请求地址连同入参一起发送到服务器,然后服务器会根据地址和入参来返回出参。也就是说,服务器是先接受header信息进行判断该请求是否有权限请求,判断有权限后,才会接受请求地址和入参的。

GET请求(在action后拼接请求参数)
POST请求:需要借助工具

GET使用URL或Cookie传参。而POST将数据放在BODY中
参考 https://www.cnblogs.com/zhuxr/p/9009708.html

http状态码
200 2开头的都表示这个请求发送成功,最常见的就是200,就代表这个请求是ok的,服务器也返回了
300 3开头的代表重定向,最常见的是302,把这个请求重定向到别的地方了
400 400代表客户端发送的请求有语法错误,401代表访问的页面没有授权,403表 示没有权限访问这个页面,404代表没有这个页面,408表示请求超时
500 5开头的代表服务器有异常,500代表服务器内部异常,504代表服务器端超时, 没返回结果

那为啥要有接口测试这玩意儿呢

接口测试使用目的
1、可以发现很多在页面上操作发现不了的bug(比如用户通过抓包直接跳过验证码,又或者用户名和密码未在后端做校验,而有人又绕过前端校验直接登录)
2、检查系统的异常处理能力
3、检查系统的安全性、稳定性
4、前端随便变,接口测好了,后端不用变

好啦,差不多,咱来实践一下吧
Postman 一般直接chrome 商店搜索下载即可(需要翻墙哦 我用的是landeng 地址:https://github.com/getlantern/download)
在这里插入图片描述

或者在 https://www.getpostman.com/apps 下载
然后看下它的真实面目
在这里插入图片描述

好的 然后是 jmeter,下载安装链接 https://blog.csdn.net/weixin_42270938/article/details/83660906

实际操作一波,首先~问开发要下接口文档,或者自己通过抓包获取
GET请求
在这里插入图片描述

postman示例
在这里插入图片描述*params格式 {"":""} 比如{“role”:“1”}

在这里插入图片描述
jmeter示例
线程组根据自己需要设置哈
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
看下响应数据
在这里插入图片描述
POST请求 文档快出来~
在这里插入图片描述
postman示例
在这里插入图片描述
在这里插入图片描述

jmeter示例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述看下响应数据
在这里插入图片描述
完美谢幕,掌声响起来~

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值