无需编写代码, API 业务流程测试,零代码实现

2018-07-10 15:31:46 +08:00
 vocalman

引言

除了测试单个接口,我们常常需要对多个有数据或者逻辑关联的接口进行业务流程测试,例如获取验证码-注册-登录。传统测试业务流程需要编写一系列测试代码,现在通过 eoLinker 全 UI 界面,无需编写任何代码即可完成稍复杂的 API 测试。

关键词

流程化测试、自动化测试、数据关联

填写完接口文档后,我们往往要对多个有数据或者逻辑关联的接口进行 API 业务测试。精彩世界杯火热进行,现以为支持球队点赞业务来举个例子:

接口 1 登录:在进行测试前我们需要先登录,将其返回的 token 字段作为后续接口的请求头字段。

接口 2 获取球队列表:点赞之前我们需要先请求球队列表数组。

接口 3 为球队点赞:将上一个接口的球队 ID 作为请求参数发送点赞请求。

接口 4 退出登录:为了不影响浏览器的测试环境,我们需要退出登录将环境恢复到测试前。

如下图

若 API 文档已建立了相关的接口,在自动化普通 UI 模式下可以批量添加已有接口

接下来我会依次介绍如何处理复杂的参数、对返回值匹配、将上一个接口返回值作为请求参数值等等。

对请求参数进行处理

登录接口,我使用 eoLinker 内置的加密方法对请求参数 userPassword 进行 MD5 加密。

在请求前代码注入里,仅需要了解一些简单的对象赋值、for 循环语法你就可以使用 Javascript、Jquery 对请求参数、请求头部等操作自如。

对返回参数进行匹配

对于接口 2,我需要先对返回值进行判断,再决定自动化是否继续,eoLinker 校验失败时默认停止测试。 校验规则:

eoLinker 填写的校验规则:

填写匹配规则的过程中需要注意类型( string、int、boolean、float、array、object )以及层级关系。

上一个请求的返回值作为本次请求的请求参数

点赞喜欢的球队时,需要传递上一个接口返回的球队 teamID。 获取球队列表的返回值:

第一步,填写接口 2:获取球队列表的返回参数,为关联参数提供数据结构。

选中 teamList 的类型(选对了类型才能准确关联),增加子字段操作将 teamName 和 teamID 填入。

第二步,填写接口 3:为球队点赞的请求参数。

点击后会出现以下弹框,选中 teamID。

生成绑定值。

<response[11465].teamlist[0].teamid>是 eoLinker 规定的关联参数形式,使用单书名号包裹的返回值 response[接口的关联 ID (可在单例列表进行查看)].子参数。因为返回值的子参数 teamList 是数组,所以需要加元素序号,第一个元素为 0,以此类推。关联参数可以在请求头部、请求体( form-data、raw ),REST 参数中使用。

测试报告

使用普通 UI 自动化模式,只需要动动鼠标就可以完成一系列的业务流程测试,生成详细的测试报告。

eoLinker,高效、专业、规范,让接口管理更加简单!

官方网站:https://www.eolinker.com

2818 次点击
所在节点    分享创造
8 条回复
hsr
2018-07-10 18:27:39 +08:00
感觉不错,先试用一下,再来评论
airfling
2018-07-10 21:50:50 +08:00
和 postman 比的优势是?
crab
2018-07-10 22:41:39 +08:00
众多成功的企业正在享受 eoLinker 的服务.....
vocalman
2018-07-13 15:26:18 +08:00
@airfling postman 在接口文档的功能较弱,eolinker 文档功能更强大。还有其他本地化优势等等。
vocalman
2018-07-13 15:26:53 +08:00
@hsr 感谢,欢迎提出宝贵意见
vocalman
2018-07-13 15:27:32 +08:00
@crab 确有其事,如假包换
qq7171891
2018-07-22 21:12:28 +08:00
有没有这种服务:提供一个回调链接,我将这个链接放到其他的服务上,比如支付宝、微信什么的,然后可以在你这边看到支付宝、微信什么的第三方服务回调发回的数据。

我的需求是,在做处理回调的程序逻辑之前,看看究竟第三方回调会发回什么数据,有时候要,他们的 API 文档并不可靠。
vocalman
2018-08-16 10:35:46 +08:00
@qq7171891 听你的意思,感觉你是想要一个类似 API 监控的东西,欢迎你加群 857400042 了解一下情况。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/469607

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX