细数国产接口协作平台的六把武器!

liam
• 阅读 281

1 关于接口协作平台的畅想

软件界发展至今,API(接口)的重要性日益凸显——不同的端,不同的模块都在通过API交互,不同角色的成员也都在围绕着接口展开工作。在这个前提下,一款集文档、接口调试、Mock、接口自动化测试一体的接口协作平台变得尤为必须。市面上优秀的接口调试工具如Postman、JMeter如雨后春笋般涌现,各大厂也在自研接口协作平台。

那么问题来了,如果你是一名测试开发,想要自研一款接口测试平台,你该如何设计它?或者你是一名测试经理,想要为团队引入一款测试平台,你要考虑哪些内容?下来简单说下我的看法。

一图胜千言,下面图里这几项是一款接口协作平台必须具备的要素。

细数国产接口协作平台的六把武器!

一个偶然的机会,一款叫做 Apifox 的API协作工具引起了我的注意,很好地契合了我对一款接口平台的期许。

官网下载地址:www.apifox.cn

细数国产接口协作平台的六把武器!

2 Apifox的六把武器

初识Apifox,惊讶于它那超高的颜值,与略显粗粝的JMeter相比,Apifox深色款尽显精致的神秘,浅色款又透露着清新典雅,让人仅凭直觉就认为它是一款好软件。一番试用下来,我豁然发现,在它的高颜值之下,拥有着毫不逊色于颜值水平的强大使用价值,Apifox,已经无限接近我心目中那个理想的接口测试平台!

接下来,让我们深入剖析它到底好在哪里。

2.1 便捷的接口即时调试

【接口即时调试】是日常工作中非常常用的场景,以往我们一般使用Postman,现在试试Apifox。打开Apifox,随手新建一个【快捷请求】,一个简洁的页面跃然眼前,请求参数区、请求响应区诸多元素收纳于tab页中,以最节省的空间,蕴藏最丰富的功能!

细数国产接口协作平台的六把武器!

纵览全局,请求地址和方法、请求参数、响应体等设计很好地延续了我们的使用习惯,非常顺手,无需赘述。令人惊喜的是【前置操作】、【后置操作】、【Auth】这些功能,极大地拓展了接口调用的使用场景。

以【后置操作】为例,断言、数据库操作信手拈来,使用丝滑,如果这些还不够,那么自定义脚本帮你解决一切烦恼。

自定义脚本 100% 兼容 Postman 语法,并且支持运行 javascript、java、python、php、js、BeanShell、go、shell、ruby、lua 等各种语言代码

加入【断言】和【数据库操作】后运行的效果图中,断言结果和数据库执行结果非常直观地展示在下方:

细数国产接口协作平台的六把武器!

2.2 良好的团队协作和数据管理

如果说【接口调试】是一款接口测试平台的车间,那么团队协作和数据管理就是这个平台的基石和框架,是由个人工具向团队平台跨越的关键点。

📕 组织结构设计

Apifox采用【团队】、【项目】、【成员】三个概念去架构组织结构,一个团队下可以有多个项目和多个成员。团队新增成员时可以选择需要开通权限的项目以及成员在项目中的角色,不同的角色对应不同的操作权限。

细数国产接口协作平台的六把武器!

可见在Apifox中,项目是一个核心概念,承载着数据隔离与数据归集管理的重任,下面这个图很清晰地展示了这种设计:

细数国产接口协作平台的六把武器!

如果你的组织很庞大,有很多垂直业务线,那么就可以为每个垂直业务线设立一个团队,各个团队之间互不干扰。如果你的组织很小,那么可以只设立一个团队,淡化团队的概念而以项目做区分。这个设计模式很好地适配不同规模的组织。

📕 接口文档

在前后端分离开发时代,接口文档有多重要不需多说吧。Apifox开创性地设计了接口调试和接口文档的双向绑定机制,每个接口调试完毕后自动生成一份接口文档,文档支持修改并自动同步到接口运行中。

细数国产接口协作平台的六把武器!

Apifox生成得接口文档可以通过【在线分享】分享到云端,其他团队可以在浏览器查看,非常方便。

细数国产接口协作平台的六把武器!

以往,令后端最头疼就是接口文档的维护,现在有了Apifox,再无此烦恼,只要把 Swagger 的 URL 填到 Apifox 里面去,Apifox 就会自动导入 API 定义,然后就能生成这个好用的文档!后端随便改代码,前端随时可以在线调试!

细数国产接口协作平台的六把武器!

更人性化的是,接口调试时能自动对比返回数据是否符合文档设计,这样就能及时暴露前后端联调的问题了,前端开发一定很爱这个功能!

细数国产接口协作平台的六把武器!

2.3 功能完善的接口自动化

接口自动化是测试团队最关心的功能,也是一个接口平台的核心功能。接口自动化要考虑要素有哪些呢?我个人觉得有以下几个:

  1. 如何组织和串联接口自动化的用例数据?
  2. 接口的断言功能,这是判定一条接口自动化用例运行成功还是失败的基础,除了常规的断言之外,数据库校验、自定义脚本校验(应对复杂校验场景)也很必要。
  3. 接口之间的关联处理。无需多言,多个接口串联起来无可避免要进行接口间的关联。
  4. 接口自动化用例的执行策略设置,也就是接口用例什么时候运行,运行多少次,是否发送通知给相关人。
  5. 接口自动化执行报告是否信息丰富、美观?

我们看下Apifox是怎么做得。

📕 数据管理

首先,数据管理方面,Apifox设计了【测试用例】–【分组】–【测试步骤】这样的设计,让测试用例数据收纳清晰有序:

细数国产接口协作平台的六把武器!

一个测试用例内包含多个测试步骤(一个测试步骤对应一个接口)

细数国产接口协作平台的六把武器!

📕 断言

断言放置在后置操作中,熟悉JMeter的朋友使用起来毫无障碍。

细数国产接口协作平台的六把武器!

📕 关联

Apifox的接口关联设计遵循了主流模式,先提取后引用,注意设置成【临时变量】,这样就把整个用例位于该步骤之后的接口都可以引用orderId这个变量了。

细数国产接口协作平台的六把武器!

后续的接口使用引用变量时,按照下图中格式写就可以了:

细数国产接口协作平台的六把武器!

📕 测试报告

测试报告是接口自动化运行的最终产物,当然是重中之重了。

细数国产接口协作平台的六把武器!

查看某条测试报告的详情,信息非常详尽,上方汇总展示整个用例执行概况,下面罗列着每个步骤执行情况。

细数国产接口协作平台的六把武器!

还可以进入步骤更多详情查看单个步骤的详细情况:

细数国产接口协作平台的六把武器!

2.4 强大的mock功能

作为前端,最痛苦的是什么时候?那就是我前端静态页面很快写好了,但后端接口还没提供,前后端联调难以开展,白白浪费时间。等到后端好不容易把接口写出来了,一对接联调,好多字段的数据又跟我 自己Mock 的数据对不上,又得重新改代码。

Apifox针对这个痛点,研发出强大的mock功能,堪称全国前端程序员的福音。

📕 智能mock

Apifox Mock 数据的基础也是 API 文档,当你创建好一个接口文档,Apifox已经自动启动一个本地的 Mock 服务,或者直接使用云端mock更方便,在没有真实后端接口的情况下返回一个模拟的响应,数据结构与文档保持一致!

这还不算,连字段值都高度智能,例如username会返回一个姓名,city会返回一个城市名称,甚至如果你的字段名称叫icon,就会返回一个图片 URL,打开就真的是一张 png 图片!

细数国产接口协作平台的六把武器!

零配置,享用智能mock!就是这么简单方便!

📕 自定义mock规则

有人会问,智能mock固然方便,但我想有自己的想法怎么办?好,这就是 Apifox Mock 功能的第二层:自定义Mock 规则。

Apifox 内置了一整套 Mock 规则,当我们的返回字段名匹配上了其中的某条规则,就会根据对应规则生成随机值(Mock.js 语法规则)。

细数国产接口协作平台的六把武器!

字段名称的匹配方式支持通配符和正则表达式,比如字段只要以 “url” 结尾,就会得到一个正确的网址;以 “mail” 打头,就会得到一个邮箱地址。

要是以 “time” 结尾,那还会自动根据字段的数据类型来 Mock 值:string 类型的话就返回一个 ‘yyyy-mm-dd hh:mm:ss’ 格式时间;integer 类型的话就返回一个时间戳。是不是很智能?!

有内置规则,当然就可以自定义新规则。

比如我们公司的订单 id 是以 “DD” 打头的十位数字,我就可以新建一个 string 类型的规则,匹配规则写 “*orderid” , mock 规则写一个正则表达式:@regexp(/DD\d{10}/)。这样,只要我任何一个接口返回字段是以 “orderid” 结尾,都会得到一个 “DD1284918414” 这样的返回值。

📕 接口级自定义 Mock

有同学提出了更刁钻的需求:我想要根据传参的不同得到不同的mock响应结果怎么办?这确实是个很现实的需求,Apifox当然想到了。Apifox针对每个接口文档提供了高级mock,让我们自由定制接口mock。

细数国产接口协作平台的六把武器!

如果以上功能你觉得还不够,那么支持Mock.js语法想必能满足你一切需要,只要Mock.js能做的,Apifox也能做。

细数国产接口协作平台的六把武器!

📕 高级 Mock 自定义脚本

最后,是高段位同学准备的自定义脚本功能,堪称无所不能但使用门槛较高。

细数国产接口协作平台的六把武器!

以上还只是Apifox的一部分功能,这座宝藏值得大家进一步去探索。

2.5 数据同步与导入导出

作为一个API协作平台,通常维护着大量数据,那么数据同步与导入导出决定了这个平台的易用性,因为数据维护是件琐碎烦人的事情。

Apifox在这方面有多强呢?一图以蔽之,【导入数据】功能几乎支持市面上所有数据格式的导入,来者不拒。

细数国产接口协作平台的六把武器!

自动同步功能更是懒人福音,节省团队难以计数的时间和精力,同时又能大幅提高数据的准确性。

细数国产接口协作平台的六把武器!

导出功能也不在话下:

细数国产接口协作平台的六把武器!

如果导出的文件不够方便在团队内协作,那么【在线分享】则是数据同步的利器!

细数国产接口协作平台的六把武器!

细数国产接口协作平台的六把武器!

分享后的在线文档:

细数国产接口协作平台的六把武器!

2.6 丰富的自定义设置

一个读者就会有一千个哈姆雷特,一千个使用者就会有一千个平台需求!如何在统一与个性化之间做出取舍是一个有难度的事情。

📕 多种外观

Apifox丰富的配色让选择困难症陷入选择困境:浅色系典雅,深色系精致,干脆白天夜晚换着来吧。

细数国产接口协作平台的六把武器!

充满精密仪器感的深色系:

细数国产接口协作平台的六把武器!

📕 项目级设置

Apifox在系统级设置之外,又提供了项目设置,让设置的颗粒度更细,以数据库连接为例,项目内配置了数据库连接后,项目内处处可以引用,避免了单次配置的繁琐。

细数国产接口协作平台的六把武器!

另外,运行环境和全局变量当然也考虑到了:

细数国产接口协作平台的六把武器!

以上只是Apifox 的功能中的一部分。Apifox = Postman + Swagger + Mock + Jmeter,果然不虚此言。技术团队,包括项目经理、产品人员、前后端开发、测试人员都能在Apifox中找到那款帮你提效的武器!

点赞
收藏
评论区
推荐文章
liam liam
1年前
高效进行接口测试,简单易懂!
前言日常测试过程中,常常需要多种工具来接力完成自己的接口测试任务。比如说,使用swagger查看接口文档,使用mock编造接口数据对前端页面做测试使用postman测试后端接口,用Jmeter来做接口自动化测试/性能测试。那有没有一款软件可以完美集成以上所有的功能?笔者发现一款叫Apifox的软件,一款完成能完成以上几乎所有软件的功能。官方给出Apifox(
liam liam
1年前
5分钟打造好用好看API文档
5分钟打造好用好看API文档🤔️你是否遇到过这样的场景?对接第三方开放平台文档的时候,左手刷着接口文档看API,右手操作着接口调试工具🧱写完接口想交付或提供API文档给第三方使用,又觉得文档展示体验一般?很鸡肋?
liam liam
1年前
程序员的摸鱼加速器!
最近趁摸鱼时间体验了一款神器,堪称后端前端们的摸鱼加速器,测试们的寿命催化剂。那就是:Apifox。中国自主研发的集文档、接口调试、Mock、接口自动化测试一体的协作平台。一套系统、一份数据,可解决多个系统之间的数据同步问题。定义好接口文档,则接口调试、数据Mock、接口测试就可以直接使用,无需再次定义;接口文档和接口开发调试也可以同一个工具,接口调试完成后
liam liam
1年前
满足你对 Api 的所有幻想
一、Api管理的难点在哪?相信无论是前端,还是后端的测试和开发人员,都遇到过这样的困难。不同工具之间数据一致性非常困难、低效。多个系统之间数据不一致,导致协作低效、频繁出问题,开发测试人员痛苦不堪。1.开发人员在Swagger定义好文档后,接口调试的时候还需要去Postman再定义一遍。2.前端开发Mock数据的时候又要去mo
liam liam
1年前
怎么写一份好的接口文档?
编写一份优秀的接口文档会让软件开发中变得更加轻松,更有效率。这可是关键任务,写得好不仅可以帮助开发人员更好地理解和使用API接口,还可以提高整个团队的协作效率。大家可以在线感受一下优秀的接口文档是怎样的:https://petstore.apifox.cn
liam liam
1年前
为什么越来越多的开发者放弃使用Postman,而选择Apifox
一、API调试常用解决方案1、PostmanSwaggerMockJMeter作为一个后端开发,我做的大部分项目一般都是基于Swagger来管理API文档,基于Postman来做接口调试,基于JMeter来做接口性能测试,基于RAP等工具MockAPI数据。\2、存在的问题(1)多系统数据不互通API设计者、前
如何批量获取拼多多商品详情数据?
批量获取拼多多商品详情数据可以采用以下方式:使用拼多多开放平台API接口。拼多多开放平台提供了API接口,可以通过API接口获取拼多多平台上的商品信息,使用API接口需要进行权限申请和认证,操作较为复杂。使用第三方工具。市面上有许多第三方工具可以实现拼多多
API 小达人 API 小达人
5个月前
如何进行自动化测试,提高测试效率?
作为测试人员,在进行比较大的项目时,使用自动化测试能帮助我们事半功倍地完成测试工作,提高测试效率,缩短开发周期。EolinkApikit为测试工程师提供API文档管理、快速接口调试、测试用例管理、及自动化测试等功能。协作测试工程师快速查看API文档及变更,以及更快的进行接口测试和自动化测试工作,降低测试用例编辑成本,提升自动化测试效率。
孟起 孟起
5个月前
最新收集近百个专业开放免费api接口 (个人创业者的福音)
随着互联网技术的不断发展,API接口已经成为各行各业中不可或缺的一部分。API接口平台作为提供API服务的载体,不仅为开发者提供了便利,也为企业提供了更多的商业机会。本文将介绍几个常用的API接口平台,以及它们的特点和优势。1.阿里云API接口平台阿里云A
API 小达人 API 小达人
5个月前
「实用技巧」后端如何使用 Eolink Apikit 快速调试接口?
程序员最讨厌的两件事:1.写文档;别人不写文档。写文档、维护文档比较麻烦,而且费时,还会经常出现API更新了,但文档还是旧的,各种同步不一致的情况,从而耽搁彼此的时间,大多数开发人员不愿意写API文档。EolinkApikit为后端工程师提供API文档的创建与自动化生成、快速接口调试、以及API文档版本管理功能,协助后端工程师快速编写文档,调试接口,以及支持版本控制恢复历史记录。通过一套系统、一份数据,解决多个系统之间的数据同步问题。只要定义好接口文档,接口调试、数据Mock、接口测试就可以直接使用,无需再次定义。接口文档和接口开发调试使用同一个工具,接口调试完成后即可保证和接口文档定义完全一致。高效、及时、准确!