盘点 15 个好用的 API 接口管理神器,零代码,用接口管理工具 eoLinker 完成API测试业务

Oden 774 2022-07-12


技术干货每日送达!

作者:DevOps探路者

 toutiao.com/i6855663276135711243

如今,API已在软件、Web和移动应用程序开发领域无处不在,从企业内部到面向公众的应用以及与合作伙伴进行系统集成。通过使用API,开发人员可以创建满足各种客户需求的应用程序。而软件架构也在随着应用程序开发方法的改变而改变。

由于API在软件开发过程中如此关键,那么对API的管理就显得格外重要。通过API管理工具和平台能够大大简化API管理的难度和复杂度。下面列举了一些顶级API管理工具和平台,可供您参考。

1. API Umbrella

API Umbrella是用于管理API和微服务的顶级开源工具之一。通过为不同的域授予不同的管理员权限,它可以使多个团队使用同一个Umbrella。该平台还提供速率限制,API密钥,缓存,实时分析和Web管理界面等功能。

2. Gravitee.io

Gravitee.io是一个用于管理API的开源平台,这个工具是灵活的并且是轻量级的。它具有开箱即用的功能,例如速率限制,IP过滤,跨域资源共享,即插即用选项,具有基于OAuth2和JSON Web令牌策略的开发者门户,负载平衡等。

但是,此API管理工具的主要功能是能够生成细粒度的报告以理解API的数据是如何使用的。

3. APIman.io

APIman.io是由Red Hat引入的一个顶级API管理平台,这个平台在GitHub中可以找到,为后端开发人员提供了很多便利。这包括:

快速运行 具有可分离策略引擎的基于策略的治理 异步功能 增强的结算和分析选项 REST API可用性的管理 限速,还有其他

4. WSO2 API管理器

WSO2 API Manager是一个完整的生命周期API管理平台,可以随时随地运行。可以在企业内部和私有云上执行API的分发和部署。除此之外,它还提供了一些其他的便利。其中一些是:

高度定制化 管理策略易用, 为SOAP或RESTful API设计和原型的可能性, 更好的访问控制和货币化设施等

5.Kong Enterprise

Kong是一种广泛采用的开源微服务API工具,它使开发人员能够快速,轻松,安全地管理一切。它的企业版带有许多特性和功能,例如:

开源插件的可用性 一键式操作 通用语言基础架构功能 强大的可视化监控功能 常规软件运行状况检查 OAuth2.0权限,以及 更广泛的社区支持

6. Tyk.io

Tyk.io 用Go编程语言编写,也是公认的开源API网关。

它带有开发者门户,详细的文档,用于API分析的仪表板,API的速率限制,身份验证以及各种其他此类规范,可帮助组织专注于微服务环境和容器化。但是,其基于商业的服务仅适用于付费版本。

7.Fusio

Fusio是另一个开源API管理工具,开发人员可以使用它从不同的数据类型创建和维护REST API。它具有高效的生命周期管理功能,例如用于管理控制的后端仪表板,详细的文档,用于传入请求的JSON验证以及满足用户权限的范围处理。

而且,此APIM平台会自动生成OAI和RAML要求,并根据定义的架构创建自定义的客户端SDK。

8.Apigility

Apigility由Zend框架设计和维护,是考虑用于API管理的下一个开源框架。该平台创建并展示其代码的JSON表示形式。它还为他们提供了不同的版本控制选项,以及通过OAuth2进行身份验证的简便性和包含API蓝图的文档。

API接口管理,这15种开源工具助你管理API Apigility

9. SwaggerHub

SwaggerHub被40多个组织考虑用于管理API,它也是最好的开源API管理工具之一。

该平台为后端开发领域的设计人员和开发人员提供了广泛的选择。它为他们提供了强大而直观的编辑器,可在保持设计一致性的同时提供更高的效率和速度。

此外,它还提供了智能错误反馈,语法自动完成和多种样式验证器可用性的机会。

10. API Axle

在Exicon的支持下,API Axle是另一种开源,简单且轻量级的代理,为开发人员提供了很多好处,例如:实时分析 强大的身份验证, 记录API流量以进行统计和报告, 易于创建和管理API密钥,以及 支持REST API设计以及Go,PHP和Node.js库的使用。

11. IBM Bluemix API

该API管理工具使开发人员可以使用200多种软件和中间件模式来为混合云构建可移植且兼容的应用程序。它还提供各种预先构建的服务和强大的机制,用于调节API访问,管理多个API版本,维持速率限制以及跟踪性能指标和所涉及的每个API的分析。

12.Repose

Repose是一个开源的RESTful中间件平台,在不断变化的API市场中起着举足轻重的作用。该平台为组织提供了各种API处理功能,包括身份验证,API验证,速率限制和HTTP请求日志记录。

该API管理平台旨在提供格式正确且经过验证的信任下游请求的下游服务。而且,它本质上具有高度可扩展性和可扩展性,这意味着开发人员可以根据不断增长的需求轻松地使用它。

13. SnapLogic企业集成云

SnapLogic是一个不错的集成平台即服务(iPaaS)工具,可帮助组织获取,维持和增长其客户群。其具备的特征是:

它是快速的,多点的,并具有可灵活满足面向批处理和实时应用程序数据集成需求的选项。它具有可扩展的体系结构,其运行方式类似于Web服务器,但也提供了拥抱多功能性的选项。它还带有创新的数据流解决方案,鼓励组织将著名的SaaS应用程序如SugarCRM和Salesforce)添加到其传统流程中。

14. DreamFactory

DreamFactory API管理平台是下一个项目要考虑的最好的免费开源工具之一,其受欢迎的原因如下:

它为开发人员提供了无需手动编写API即可进行移动应用程序开发的方法。它使他们能够将任何SQL / NoSQL数据库,外部HTTP / SOAP服务或文件存储系统集成到DreamFactory环境中,并自动获得全面,灵活,完全文档化且随时可用的REST API。除了访问用于分页,复杂过滤器,虚拟外键,相关表联接等的API参数之外,该平台还为SQL数据库提供了详细的REST API。DreamFactory API管理平台的另一个独特功能是,它可以立即将JSON请求转换为SOAP,反之亦然。此外,该平台还以易于管理的形式提供了高度安全的用户管理,SSO身份验证,CORS,JSON Web令牌,SAML集成,API端点上基于角色的访问控制,OAuth和LDAP。API接口管理,这15种开源工具助你管理API DreamFactory

15. 3Scale

最后但并非最不重要的一点是,3Scale是此API管理工具列表的补充。

API管理工具由Red Hat拥有,它使大小型企业都可以通过以下功能轻松安全地管理其API:

它采用了一个分布式的云层来集中API程序的控制。这样可以更轻松地控制分析,可访问性,开发人员工作流程,获利等。由于它托管在分布式云托管层上,因此具有高度的灵活性和可扩展性。3Scale API的OpenShift集成功能使您能够以自动化且封闭的方式运行高性能应用程序。这个完整的生命周期API管理平台使开发人员可以随时计划,设计,应用,发布,管理,分析,优化和淘汰您的API,以提供卓越的体验。它具有通过Web或移动应用程序轻松共享组织数据,服务和内容的功能。最重要的是,3scale API管理平台为您提供了将各种加密,身份验证和授权协议注入开发环境的机会。这使后端开发公司能够为其目标用户群提供适合他们的高度安全的移动应用程序体验。上面共享的所有API管理工具都是开源的,有望成为技术堆栈的有益补充。但是,为了确保您选择最适合自己的业务应用程序的需求,我们接下来将介绍一些有关选择API管理工具的技巧。


零代码,用接口管理工具 eoLinker 完成API测试业务

引言

作为开发人员,有时需要协助市场部门进行开发,比如在市场推广中,经常通过给用户赠送优惠券来提高复购率。这篇文章,将介绍如何使用接口管理工具 eoLinker 的自动化测试 [UI模式] 构建此业务逻辑。

关键词

市场推广、定时任务、数据关联

接下来,我们以给用户赠送优惠券为例进行流程的搭建。搭建完整个流程后,你会发现不再需要编写复杂的代码了,只需简单几步就能完成。

目录

1、流程设计

2、流程调试

3、定时任务

4、使用tips

5、小结

-----------------------------------------------------------

1、流程设计

我们先确定完成该业务逻辑需要用到的接口:

接口1 登录:最基本的登录接口,市场推广人员登录自己的账号。

接口2 获取用户列表:在发放优惠券之前,先确定用户名单。

接口3 获取优惠券列表:获取各种类型的优惠券。

接口4 给用户赠送优惠券:以接口2和接口3的返回结果作为请求参数。

接口5 退出登录:完成业务流程后,退出登录。

按照上面的流程设计,我新建了下图中的5个接口,同时调整好正确的测试顺序。


接口1 的返回参数statusCode,我设置了4个状态码,刚好对应4种可能的情况,如果有更多可能性,可以继续补充。

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

当我们编辑好接口,完成好对数据关联的设置,这时候只需回到自动化测试页面,点击“ 测试全部 ”就可以完成测试了。如何进行数据关联的内容将会在下文介绍。

下图可以看到,我们完成正确的设置后,得到了成功的测试结果。


2、流程调试

在流程测试中,上一个接口的返回参数可能会是下一个接口的请求参数。这时候就需要用上 关联数据 。比如给用户发送优惠券,就需要传递上一个接口返回的优惠券 couponID 。下面通过两个步骤来进行数据关联:

第一步:获取优惠券列表的返回值

我们有3种不同面值的优惠券:满100减10、满1000减100和满10000减1000,对应着不同 couponID 。


第二步:填写接口4的请求参数

接口4的请求参数就是接口2和接口3的返回参数。


点击后面“关联”按钮,会出现以下弹框,选择要关联的数据,比如下图选中了 couponID 。


生成绑定值。如图中 userID 和 couponID 都生成了绑定值。

参数值的格式是eoLinker规定的关联参数形式,使用单书名号包裹的返回值 response [接口的关联ID(可在单例列表进行查看)].子参数。

如果返回值的子参数是数组,那就需要加元素序号,第一个元素为0,以此类推。如couponList[0]。

关联参数可以在 请求头部、请求体(form-data、raw),REST参数 中使用。

在调试中,测试报告也是十分重要的。

使用普通UI自动化模式,测试完毕后,会生成详细的测试报告,通过查看详情就能看到完整的测试报告。如果测试失败了,通过测试报告也能及时进行修正。


3、定时任务

在本文的业务流程中,我们可以通过定时测试任务,让整个流程自动执行。

首先在自动化测试的二级菜单--定时测试任务中,添加该任务。添加任务之前需要添加分组,比如这里新建了“赠送用户优惠券”的分组。


这里需要填写名称:"给用户赠送优惠券",时间设置“永久有效”,周期为“一周”,日期选择“周一到周五的早10点和晚六点”,按照这样的规则发送优惠券。

在用例列表中选择之前设置好的用例:优惠券


确认测试环境,填写我的邮箱,再选择通知类型。这样设置后,以后我们只需通过查看邮件,就可以获取接口测试的所有情况,确保接口正常运行。

如上图,每次的测试历史可以在测试任务列表下载,十分方便。

4、使用tips

请求参数处理

有些参数需要在发送前进行加密,例如密码等。在 eoLinker 中,通过代码注入功能就可以对参数 userPassword 加密,比如

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


在代码注入功能的右侧导航栏,eoLinker 目前内置了包括 MD5 在内的3种加密方式,点击就可以直接调用了。如果想用其他的加密方式,只需要了解一些简单语法你就可以使用 Javascript、Jquery 代码进行加密。当然也可以在发送前对请求参数做其他处理。

返回参数匹配

除了对请求参数进行处理外,对返回的参数也需要进行校验,在这个业务中,我们只选择特定的用户发送相应优惠券,这就需要通过校验来对返回的参数进行匹配。

对于接口2,我需要先对返回值进行判断,再决定自动化测试流程是否继续,eoLinker校验失败时默认停止测试。如果不想停在这里的话,可以勾选下方的“ 该用例校验位失败时,依然执行下一个用例 ”。这样即便失败也会继续测试下去。

下面说一下校验规则

校验规则:

statusCode为字符串000000

列表中的couponID是1,couponName为满100减10

eoLinker填写的校验规则:


填写匹配规则的过程中,主要为参数选择正确的类型(string、int等)以及层级关系。比如在这里参数 couponList 和 couponID 就是不同的类型,而couponID 是 couponList 的子字段。

5、小结

最后,完成任务退出登录,这样一个完整的业务流程就完成了。通过自动化测试的UI模式进行业务流程测试,既不用编写代码,又能通过测试报告及时修正错误,相比传统的测试方式极大地提高了工作效率。

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

更多更新内容请前往eoLinker微信公众号,本文转自eoLinker公众号。

立即体验:https://www.eolinker.com



版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:DoMarketing-营销智库:优秀策划人应该具有的17个习惯!
下一篇:私域流量有多重要?无私域不裂变!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~