前语
❝
把握了http协议,就把握了接口测验
❞
笔者在网络上看过不少接口测验教程,一上来就开端讲怎样操作工具,而不告诉读者为什么要这么操作。 读者或许照猫画虎成功了,也或许操作失利了但不知为何出错。
因而,本文作为接口测验的入门第一课首先会给咱们了解到履行接口测验每一步操作的意图和原理,由此咱们才干从理论到实践上把握接口测验,而且熟练之后有自己的创造性发挥。
本文所用的接口测验工具为Apifox,请咱们在往下读之前先装置注册好工具。
Apifox官方下载地址:www.apifox.cn
目录
- 接口测验测什么
- 接口测验的目标:服务器接口
- 服务器接口与前端通讯的方式:http协议
- 读懂APi文档
- Apifox接口测验原理
- 用Apifox构建第一个接口恳求
正文
接口测验测什么
❝
接口测验首要是测验体系 组件间接口的一种测验,首要用于测验服务器与前端(web浏览器,APP)之间的数据交互接口。 测验的重点是要检查接口参数传递的正确性,接口功用完结的正确性,输出成果的正确性,以及对各种异常情况的容错处理的完整性和合理性。
❞
由引文对接口测验的界说可得,接口测验的目标是服务器接口,接口测验的内容包括:接口参数检验,接口功用完结是否正确,接口异常情况容错处理。
接口测验的内容是《Apifox接口测验》系列教程后边的内容,本文首要讲解服务器接口,前端如何经过http协议与服务器通讯,Apifox等接口测验工具如何完结接口测验。
接口测验的目标:服务器接口
API指的是一组预先界说好的函数,来让体系或外部的其他组件能够履行它内部完结的功用,但又无须访问源代码或者了解其内部逻辑。
在需求开发过程中,前后端别离开发,两头的研发人员会共同界说好接口,编写接口文档,尔后的开发过程中需求遵从这份协议文档。
因而接口测验也是一种黑盒测验,测验人员需求根据接口文档来对服务器Api进行测验,来检测约好的功用是否正确完结,是否有对异常情况做容错处理。
而接口文档的编写是根据前后端数据传输的协议——Http协议进行的。
要会用接口文档,首先先了解http协议。
服务器接口与前端通讯的方式:http协议
服务器和前端经过相互发送http报文完结数据交互。本末节将介绍如何创立http报文,以及如何了解报文的每一个部分,了解完就能够把握接口测验的根底内容。
-
http报文的三个组成部分 http报文是一个格局化数据块。报文类型包括客户端恳求,服务器呼应。它们由3个部分组成:
- 起始行(start line) 对报文进行描绘
- 首部块(header) 包括特点 Content-Type: Content-Length:
- 主体(body) 包括文本或二进制数据,能够为空
-
恳求报文的格局
<method><request-URL><version>
<headers>
<entity-body>
- 呼应报文的格局
<version><status><reason-phrase>
<headers>
<entity-body>
- 各个字段的意义如下:
办法(method) :前端希望对服务器履行的操作,包括get,post,put,delete等办法;
办法 | 功用 |
---|---|
GET | 从服务器获取数据 |
POST | 向服务器发送要处理的数据 |
HEAD | 只从服务器获取文档的首部 |
DELETE | 从服务器上删去数据 |
PUT | 向服务器提交数据 |
恳求url(request-URL) :所恳求资源路径,经过它可找到资源放置的位置。 格局类似于:www.apifox.cn/help/app/co…
版别(version) :报文所运用的http版别,格局类似于:HTTP/1.0
首部(headers) :能够有0个或多个首部,常见的首部如下:
实体主体(entity-body) :包括一个数据块,支撑多种数据格局,如html页面,图片,视频,源代码等等。
状况码(status-code) :描绘恳求成果,成功或者失利。
原因短语(reason-phrase) :原因短语是状况码的可读版别,只对人类有意义。
这些字段初学者会觉得非常抽象难以了解和记忆,但当后边接触到api文档和用apifox做接口测验的时候,就会顿悟——api文档里的参数和办法,url的意义和接口测验界面每个空格要填什么,回来值代表什么意义。
请耐心持续往下读。
读懂API文档
对于测验人员,准备接口测验所需求的文档有产品需求文档+API文档。
需求文档用于整理接口为何这么规划、是否合理;
针对单个接口,接口文档用于获取:接口描绘,恳求说明,回来说明。
以百度敞开API,文字辨认接口为例:咱们想要运用它的文本辨认功用,需求去调用它的接口,那么需求了解建议这个文本辨认接口恳求,每个字段需求填什么内容。
*注:Apifox的ApiHub中,收集了很多敞开的API,初学者可选取某个api深入了解接口文档,或作为接口测验的操练物料,留意有些接口需求先获取运用权限。
Api Hub收集的敞开API
Apifox接口测验原理
对于服务器来说,Apifox也是一个前端,只不过其他前端的接口恳求由研发人员在代码里封装好,在特定条件下被触发建议恳求,而Apifox中,接口恳求由用户手动封装,手动建议。
Apifox界面
看完Apifox接口测验的界面,读者想必能发现,整个界面就是让读者手动构建出一个http恳求出来,上两节咱们讲的抽象的http协议总算落了地。
因而一个最根底的http接口测验所需求做的过程就是手动填写完结并宣布一个http恳求,校验参数。
step1.挑选恳求办法->填写恳求url->填写url参数->填写body参数和header参数(如果有)
step2.手动发送恳求
step3.检查回来参数是否正常,是否符合接口文档的约好
用Apifox构建你第一个测验恳求
在铺垫完上述那么多理论根底之后,咱们总算能够开端上手运用apifox来做接口测验了。
操练1:用get恳求获取html页面
step1:在apifox的新建接口tab输入“www.baidu.com”,恳求办法挑选GET,header参数,url参数,body参数均为空,接着点击send按钮。 step2:检查回来值,能够看到恳求回来的数据是一个html页面,即百度主页,咱们点击‘preview’按钮,能够看到一个完整的页面显示出来
点击preview tab
操练2:获取百度敞开API的acess_token,即取得运用api的授权
step1:检查百度敞开api获取acess_token的接口文档,获取恳求办法和恳求参数
step2:根据接口文档描绘的,在apifox接口测验界面挑选post办法,在params里填写3个恳求参数, (client_id和client_secret需求创立应用后才干取得,没有能够先去创立)
填写恳求参数
step3:点击下方**「实践恳求」**tab,能够看到apifox实践宣布的接口恳求形式 如下:
step4:检查回来参数可看到回来了咱们需求的acess_token 字段:
操练完结。咱们能够使用自己公司内部的接口文档/外部敞开api持续进行操练巩固。
复习题
1.写出http协议恳求报文和相应报文的格局,并说明每个字段的意义。
2.api文档有哪几部分组成,在接口测验中别离发挥什么作用
3.复述用Apifox做简单接口测验的过程。