新人友好贴,如何快速上手 API 接口测试

注释君
• 阅读 758

开始 API 接口测试之前,我们需要弄清接口测试的含义:

接口测试就是根据接口清单,模拟客户端向服务端发送请求数据,并获取响应数据后,查看响应数据是否符合预期的过程。

整个过程可以分为三个步骤:

第一步:模拟客户端向服务端发送请求;

第二步:接受服务端返回的数据;

第三步:查看返回数据是否符合预期。

必须要明确的一点是,接口测试的依据是接口清单,接口清单的依据是API文档,API文档的依据的项目需求文档和原型图。有了接口清单后,针对于每一个接口依次执行上述三个步骤的过程就是接口测试。

那么是怎么执行的呢?因为接口测试是在程序开发过程中进行的,是没有完整的程序的,所以测试是需要用到工具的。不仅模拟客户端向服务端发送请求是需要工具的,从服务端接受数据也是需要工具的,而且有时候验证返回数据是否符合预期也是需要用到工具的。

这就不得不提到在接口测试中常用的如fiddler之类的抓包工具、postman、Jmeter等工具了。但这里我会推荐另一款更符合国人需求的开源 API 工具——Eoapi.

下面我会用 Eoapi 演示,如何进行 API 接口测试:

在测试中我们可能会关注状态码、响应体以及响应时间,这些数据 Eoapi 通通都会展示给你,判断 API 是否正常。

新人友好贴,如何快速上手 API 接口测试

开始测试之前,我们需要先填写测试数据~,可以点击标签页的加号新建一个测试标签页。
新人友好贴,如何快速上手 API 接口测试

还可以通过点击分组 API 的闪电图标快速对某个 API 发起测试。

新人友好贴,如何快速上手 API 接口测试

通过类比现有的知识去学习新的知识往往更快,平时我们一般会在浏览器里看 API 请求信息,这些信息在 Eoapi 对应的位置是什么呢?相信通过下面的对照图你很快能知道如何在 Eoapi 测试:

下划线颜色相同代表相同模块

新人友好贴,如何快速上手 API 接口测试

请求 URL/请求方式/请求头/Query 参数

API Path 里面可能填写了 Query 参数,Eoapi 会将它自动同步到 Query 参数的表格里面。

首先确认你的 HTTP 请求体格式,选择相应的请求体格式后点击测试按钮。

新人友好贴,如何快速上手 API 接口测试

就可以看到相应 API 响应信息啦!

新人友好贴,如何快速上手 API 接口测试

通过点击测试历史,还可以回溯当时测试的所有 API 请求信息,快速回归测试。

新人友好贴,如何快速上手 API 接口测试

tips:由于该软件一直在维护当中,所以可能现版本截图跟本文中略有差异。

目前这款软件已经更新到 v1.9.0了,除了我们常说的接口测试、接口文档、接口管理以及Mock 功能,新增团队协作、API 分享功能。除此之外他们还支持:

  • 丰富的插件市场,可拓展
  • 前后置脚本
  • 支持查看所有测试历史
  • 支持 Websocket 协议,后续也会新增支持更多的主流协议

在线 Demo:

https://www.eoapi.io/?utm_sou...

新人友好贴,如何快速上手 API 接口测试

如果你觉得这个开源项目还可以的话,不妨点个 star 支持下他们,如果你觉得还需要继续优化,不妨去提个Issue.

Github:

https://github.com/eolinker/e...

Gitee:

https://gitee.com/eolink_admi...

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Easter79 Easter79
3年前
SpringBoot自定义序列化的使用方式
场景及需求:项目接入了SpringBoot开发,现在需求是服务端接口返回的字段如果为空,那么自动转为空字符串。例如:\    {        "id":1,        "name":null    },    {        "id":2,        "name":"x
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
Loadrunner测试json接口实例以及 web_custom_request 函数详解
1\.loadrunnerjson说明使用lr测试json接口,向服务端发送json格式请求,接收处理返回响应数据。主要用到函数:  1)web\_custom\_request  2)web\_reg\_save\_param(此函数常用户处理动态参数,该方法在LoadRunner中
Stella981 Stella981
3年前
SpringBoot自定义序列化的使用方式
场景及需求:项目接入了SpringBoot开发,现在需求是服务端接口返回的字段如果为空,那么自动转为空字符串。例如:\    {        "id":1,        "name":null    },    {        "id":2,        "name":"x
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
存储接口测试简介与测试方法
接口测试原理是通过测试程序模拟客户端向服务器发送请求报文,服务端接收报文并处理后再把应答报文发送回客户端,客户端接收应答报文的过程测试接口目的就是保证接口调用的正确性和稳定性,测试内容概括为:功能、性能和安全,核心是持续集成
API 小达人 API 小达人
1年前
Eolink Apikit 快速发起 API 测试,一键生成测试数据
我们在测试接口时,通常需要先创建API文档,再根据API文档生成测试用例。未创建该接口文档,仅临时调试接口,EolinkApikit支持创建API快速测试页面,输入接口相关的信息即可进行快速测试。EolinkApikit支持操作数据库,API测试时,可以一键生成测试请求数据。这可以减少数据输入步骤,提高调试接口效率。
美凌格栋栋酱 美凌格栋栋酱
5个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(