接口测试:Eolink Apikit 和 Postman 哪个更好用?

接口测试:Eolink Apikit 和 Postman 哪个更好用? 很多做服务端开发的同学,应该基本都用过 Postman 来测试接口,虽然 Postman 能支撑日常工作,但是总感觉还是少了点什么,比如需要 Swagger 来维护接口文档,需要人肉发送接口变更通知。如今,国产的接口管理工具做得越来越好了,比如,Eolink Apikit 一站式 API 协作平台。

Eolink Apikit 和 Postman 相比到底怎么样?哪个更好用呢?

官网上是这样介绍的:

Eolink Apikit = API 管理 + Mock + 自动化测试 + 异常监控 + 团队协作,是一个强大的跨平台(Windows、Mac、Linux、Browsers...)的 API 开发测试工具,支持 DUBBO、HTTP/HTTPS、REST、Websocket/Websockets、gRPC、TCP、UDP、SOAP、HSF 等协议,结合 API 设计、文档管理、自动化测试、监控、研发管理和团队协作的一站式 API 生产平台。

 

主要会围绕 API 文档管理、API 测试、第三方支持等功能做主要对比介绍。 

 

API 文档管理

在 API 文档管理功能中,主要对比一下导入 API 文档功能,因为导入 API 文档功能在日常工作中使用比较频繁。对于一些历史项目和外部项目,接口文档会存在不同的接口平台中,那么接口测试工具中导入 API 文档功能的兼容性、扩展性、效率性就尤其重要了。

1、Eolink Apikit 的 IDEA 插件生成接口文档

在目前国内市场行业内,每个公司管理接口文档的平台都不一样,比如使用:yapi、jmeter、rap、Postman 等等,Eolink Apikit 的独特之处在于可以支持对接多种国内外接口管理平台,实现零成本迁移接口文档到 Eolink Apikit 中。

Eolink Apikit 还可以在开发阶段就完成接口文档生成,绝对是后端开发的最爱。

用过 Swagger 的都知道,如果等代码提交到 Git 再将接口文档给前端、测试其实太慢了,有的团队会选择在 API 更改后手动生成 Swagger 文件部署,这也很麻烦好不好,本程序员不想忍。

使用 IDEA 插件如何生成接口文档,让我们即使不提交代码也能生成接口文档,提高我们的工作效率。

Eolink Apikit 提供的 IDEA 插件,将 JAVA 方法解析成 API 文档的 IDEA 插件,可分析方法出入参自动生成注释,并且可将 API 信息上传到 Eolink Apikit 服务上。 插件已经进驻 IDEA 市场,在 IDEA 插件市场中搜索“Apikit”,找到“Eolink ApiKit”插件安装即可。

插件 IDEA 市场介绍地址为:https://plugins.jetbrains.com/plugin/19189-eolink-apikit/jie-shao。

在 Preferences 的 Plugins 在应用市场搜索插件,点击 install 安装插件并且重启 IDEA 编辑器。

重启完成后,在 Preferences 中选择 Eolink Setting 配置上传参数。SpaceKey 和 ProjectHashKey 通过 Eolink Apikit 的 web 版 url 中的参数获取,参考下图:

Server地址: 如果使用的是SaaS,server后需要加上/api,如果使用的是私有云版本,需要在server后加上index.php。

Token: 目前使用的是个人帐号(邮箱/手机/帐号)

StringType: 决定出入参的字符串类型,只有参数名一开始就是遵守驼峰规范才会发现改变,预览窗口可看到变化结果。

  • 当参数名为“groupName”,选择camelCase,依旧是“groupName”,这是默认选项

  • 当参数名为“groupName”,选择lower_underscore,会变成“group_name”

  • 当参数名为“groupName”,选择UPPER_UNDERSCORE,会变成“GROUP_NAME”

强烈推荐使用 Eolink Apikit 注释,插件有强大的生成注释功能,强烈建议先生成 Eolink Apikit 注释进行编辑再上传。
生成类注释,在类上输入[//eo],然后键入“意图”组合键(默认是Alt+Enter),点击菜单右键选择“Write Eolink doc”,插件会尽最大能力给你生成Eolink注释,其他信息请手动补充和修改。

 

另外还提供单独方法生成注释的方法,同样在方法上输入[//eo],然后键入“意图”组合键(默认是Alt+Enter),菜单选择“Write Eolink doc”,插件会尽最大能力给你生成 Eolink Apikit 注释,其他信息请手动补充和修改。

需要注意:生成类注释和单独方法生成注释,目前仅支持 http 协议类型。

如果你觉得上面两个方法太麻烦,还可以试用一键生成方法注释的方法,不得不说 Eolink Apikit 的 IDEA 插功能简直太强大了,只需要在当前 java 文件右键唤出菜单,点击“Generate Class Doc”,会出现二级菜单,选择需要生成的注释类型(http/rpc), 插件会尽最大能力给当前java文件的方法生成 Eolink Apikit 注释,其他信息请手动补充和修改。

 

最后一步就是上传接口功能,上传接口有两种方式:

一键上传全部接口,在当前 java 文件右键唤出菜单,点击“Upload All Api”,插件会帮你自动解析方法且全部提交到目标服务器上。此方法缺点是,由于此功能没有预览窗口,使用此功能前建议先生成 Eolink Apikit 注释并确认是否无误。

部分接口上传是有预览模式的,当前 java 文件右键唤出菜单,点击“Upload Api”,插件会帮你自动解析方法,唤出接口选择窗口,你可以在此窗口查看接口信息是否正确,再点击上传。

 

如果上面 Eolink Apikit 配置插件服务端配置的正确的话,大概在 5s内上传完成,如果出现"uplod success"说明上传成功。

 

我们去 Eolink Apikit 的 Web 端验证效果,切换项目组后并且点击刚才上传的接口,可以清晰的看到接口参数的定义。

 

2、Postman 使用 swagger 方式

Postman 支持导入 API 文档的方式比较少,支持 Collection v2 协议导入方式、 Swagger 导入方式等。

 

用 Postman 的文档共功能使用 Swagger 导入 ,在输入 Swagger 连接地址中,输入http://127.0.0.1:8080/v2/api-docs。

 

点击 import 按钮后,需要稍等一会儿,会根据 Swagger 文档自动导入接口文档。

小结:

使用 IDEA 插件的方式编写接口文档,要比使用 Swagger 方式方便很多,主要有几点优势:

  • Postman + Swagger 方式需要在代码中编写注解,这样是对代码有侵入式修改。但 Eolink Apikit 的IDEA 插件不需要,实现零侵入效果。

  • Postman + Swagge 方式需要生成 http 地址的 json 地址,然后再把json输入导入到工具中。Eolink Apikit 的 IDEA 直接一步就完成了接口文档上传,实现了所见即所得的效果,提升了开发接口文档效率。

  • Postman + Swagge 方式协议支持简单,只是支持 http/https。但 Eolink Apikit 插件支持 http/https/dubbo 多协议。

 

Mock 功能

开发时,后端还没完成数据输出,前端只好写静态模拟数据。数据太长了,将数据写在js文件里,完成后挨个改 url。某些逻辑复杂的代码,加入或去除模拟数据时得小心翼翼。想要尽可能还原真实的数据,要么编写更多代码,要么手动修改模拟数据。特殊的格式,例如 IP,随机数,图片,地址,需要去收集,会使用 mock 功能解决这个痛点。

1、 Eolink Apikit 的 Mock 功能

Eolink Apikit 在 mock 功能这方面功能很全面,从全局 Mock 到字段级 Mock 都支持可以适配各种场景,接下来我给大家介绍如何使用 Mock 功能在 Eolink Apikit 上的使用。

Mock 功能的优势:

前后端分离: 让前端工程师独立于后端进行开发。

增加测试的真实性: 通过随机数据,模拟各种场景。

开发无侵入: 不需要修改既有代码,就可以拦截Ajax请求,返回模拟的响应数据。

数据类型丰富: 支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等。

方便扩展: 支持支持扩展更多数据类型,支持自定义函数和正则。

1. 简易 Mock 功能: 提供快速便捷的 Mock 配置方式,在编写接口文档的返回结果的同时完成 Mock 规则配置,更提供配置周期更短,甚至无需配置的返回结果 Mock 功能。

进入 API 文档编辑页,选中需要编辑的返回结果,在参数列表中填写字段名和选择数据类型,若字段名和数据类型命中了智能 Mock 的规则,则字段名输入框失去焦点后,系统会自动填充该字段的 Mock 值。

在文档底部,默认 Eolink Apikit 会自动创建一个系统 Mock 方式,把生成好的 Mock 地址放到浏览器即可。

 

这种全局 mock 功能的优势就是,每个 mock 调用参数值均有随机值,对于有些不能使用重复数据的开发需求,动态 mock 生成随机值功能可以减少开发写死参数的情况。与其同时,简化了配置方式。编写文档就边完成 Mock 规则配置,无需重复工作,零配置。 

2. 高级 mock 功能:配置不同的请求参数,获取不同的返回数据。

 

如果不填写生成规则和属性值,系统会自动根据 JSON 结构以及数据类型来生成随机的数据。也可以在生成规则和属性值中使用 Mock JS 语法来生成自定义的数据。

 可以看到效果在每次发送 mock 请求,star 参数的值都不一样。

 

3. 动态 mock: 动态 Javascript 通过代码生成返回数据时,可以使用编写 Javascript 代码的方式,并使用 return 语句返回数据。Javascript 模式中也支持 Mock JS,通过 Mock.mock() 方式调用,详情可以查阅 Mock JS 官方文档。

以下例子表示使用 Javascript 代码结合 Mock JS 生成 随机中文名 + 当前日期 的返回结果:

`var date = new Date();
var seperator1 = "-";
var year = date.getFullYear();
var month = date.getMonth() + 1;
var strDate = date.getDate();

//在这里使用Mock JS 获取随机中文名
var userName = Mock.mock("@cname");

if (month >= 1 && month <= 9)
{
month = "0" + month;
}

if (strDate >= 0 && strDate <= 9)
{
strDate = "0" + strDate;
}

var currentdate = year + seperator1 + month + seperator1 + strDate;

return {"name":userName,"currentdate":currentdate};`

 点击预览模式就可以看到 mock 效果,每次请求接口返回的 name 值都不一样,达到了动态 mock 的效果。

通过编写 Javascript 脚本设置响应内容,还可以直接使用内置函数设置“请求体触发条件”相关内容, 设置的信息等同于在“请求体触发条件”输入框中的设置,如设置 Header 参数或者请求体参数等, 设置完成后,在测试时填写对应的参数进行触发,相关函数使用方法如下: 示例: 设置请求体参数,对触发条件进行判断输出符合条件的数值 判断触发条件“a”是否等于“eo_test”若等于则输出“成功”,否则输出“失败”。

 

在请求参数中输入 status=1 后,可以看出结果是 code=1,这样就是根据输入条件动态 mock 返回数据的效果。

 

2、 Postman 的 Mock 功能

Postman 中需要点击 Create Mock Server 配置 mock 服务。

配置需要 mock 的接口地址,手动输入响应数据返回值即可。

 

小结:

Eolink Apikit 在 Mock 方面表现的很强大,主要体现可以确保每个 mock 调用返回值都有随机数据,避免了手动配置固定数据的情况、支持根据输入条件,获取不同的返回数据、根据字段约束条件自动生成对应的 Mock 数据。则 Postman 的 Mock 能力,响应数据返回值需要手动填写并且只能写死一种配置。在实际项目使用中,还是不太灵活、扩展性较低。

 

导出接口文档

在和外部团队合作开发项目过程中,涉及服务端接口交互请求的操作,开发之间会通过接口文档进行编写代码和调试代码,研发同学一般会利用工具导出接口数据的方式生产接口文档,那么导出后的接口文档数据格式美观性、准确性是非常重要的,联调接口的成功高往往就是因为接口文档写的类型、枚举不清晰导致的,让研发同学看的"一头雾水"。那我们就看下这款工具在这方面的表现如何。

1、Eolink Apikit

Eolink Apikit 支持多种导出项目数据的方式,比如:Eolink Apikit 项目数据、Eolink Apikit API 相关数据、HTML、Microsoft Word、Excel、PDF、Mardown、Swagger 等。

 

主要介绍使用 HTML 和 Microsoft Word 两个方式,主要看导出的数据是否能满足工作需求。

选择使用"HTML"导出文档,可以筛选 API 分组并且根据API标签过滤一些接口。

导出完成后,在"我的任务队列"中下载到本地目录下。使用 Chrome 浏览器打开 HTML 报告,在列表中可以看到接口名称、接口 URI 地址等字段,点击接口详情可以展示出请求参数等字段。导出的 HTML 报告能满足,日常研发查看接口文档的需求。

 

选择使用"Microsoft Word"导出文档,同样可以筛选 API 分组并且根据 API 标签过滤一些接口,导出完成后,在 Mac 上可以使用 WPS 打开文档。

"Microsoft Word"导出的文档和"HTML"导出文档在数据字段每差异,只是展示效果不同而已,可以根据工作需求导出同步格式的文档。

 

2、 Postman

Postman导出接口文档的方式很简单,选择项目 Export 按钮导出项目中所有接口,竟然不能单独导出某个接口。

保存数据是 JSON 格式的到本地即可。

 

小结:

Postman 导出 JSON 格式有个很大的问题,对方需要安装 Postman 导入 json 到项目中才能看到接口文档,给开发者无形中增加了使用成本。Eolink Apikit 在导出接口文档这里能满足绝大部分的人群,支持 HTML 文档、Mardown 文档、Microsoft Word 文档等,这次主流文档都支持,放在电脑或者手机上看都是没问题的,极大提高的接口文档的对接效率。


 

结论

接触 Eolink Apikit 一段时间后,纷纷安利给我们的研发团队的小伙伴使用,现在我们的项目都使用 Eolink Apikit 来做接口管理工具,大家反馈还是不错的。定义一套接口文档,接口数据格式能做到前后端开发、测试等人员同时共享,可以省去不少沟通成本,对于提高团队协作还是有一定的帮助的。另外就是接触 mock 功能,前端同学可以轻松的调试代码和排查问题,降低对服务端数据的依赖性。

综上对比,Eolink Apikit 一款综合性比较强的工具,如果之前使用过 Postman 工具,上手使用 Eolink Apikit 也会在短时间内熟练掌握的。不管在新项目还是老项目中,Eolink Apikit 确实都是一个不错的选择。

Eolink Apikit 体检地址:https://www.eolink.com/apikit

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/21968.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

nginx压测记录

nginx压测记录 1 概述2 原理3 环境3.1 设备与部署3.2 nginx配置/服务器配置 4 netty服务5 步骤6 结果7 写在最后 1 概述 都说nginx的负载均衡能力很强&#xff0c;最近出于好奇对nginx的实际并发能力进行了简单的测试&#xff0c;主要测试了TCP/IP层的长链接负载均衡 2 原理 …

YOLOv5区域检测+声音警报

YOLOv5区域检测声音警报 1. 相关配置2. 检测区域设置3. 画检测区域线&#xff08;不想显示也可以不画&#xff09;4. 报警模块5. 代码修改5.1 主代码5.2 细节修改&#xff08;可忽略&#xff09; 6. 实验效果 本篇博文工程源码下载 链接1&#xff1a;https://github.com/up-up-…

远程桌面连接工具在哪里下载?

在市场上&#xff0c;有很多种不同的工具可用。一些远程桌面连接工具&#xff08;如RayLink&#xff09;具有高清流畅、操作简单和连接速度快的特点。而其他一些连接工具则更注重保护安全和数据保密性。不同的远程桌面连接工具各有特点&#xff0c;需要根据不同的需求进行选择。…

[AI图片生成]自己搭建StableDiffusion安装过程

前言 最近尝试玩玩AI图片生成,安装一路坑 出个一路安装成功的记录 开始 找个空间大的盘符,这玩意将来会很占空间.一个模型大约5g左右,你可能还会装很多模型创建个目录,路径不要有中文安装git 下载地址 详细教程 (如果有忽略)下载 Python3.10.0,记得勾选添加到环境变量选项,安…

ChatGPT帮你写简历找工作

随着随着毕业时间的到来&#xff0c;应届生将要面临求职问题&#xff0c;根据官方的统计&#xff0c;2023届高校毕业生预计达1158万人&#xff0c;就业市场竞争激烈&#xff0c;无论是校园招聘&#xff0c;招聘会&#xff0c;线上招聘除了自身的准备和个人能力&#xff0c;都会…

2023 hnust 大三下 人工智能导论课程 期中考试复习笔记

前言 ★大概率考✦个人推测考点※补充内容没有完全覆盖“人工智能导论复习2023.pdf”的重点致谢&#xff1a;hwl、lyf、lqx 题型 问答&#xff1a;5*10分综合&#xff1a;15分设计&#xff1a;25分开放题/论述题&#xff1a;10分 第1章 绪论 人工智能的定义 智能 思考与…

Android平台外部编码数据(H264/H265/AAC/PCMA/PCMU)实时预览播放技术实现

开发背景 好多开发者可能疑惑&#xff0c;外部数据实时预览播放&#xff0c;到底有什么用&#xff1f; 是的&#xff0c;一般场景是用不到的&#xff0c;我们在开发这块前几年已经开发了非常稳定的RTMP、RTSP直播播放模块&#xff0c;不过也遇到这样的场景&#xff0c;部分设…

MySQL和Redis如何保证数据一致性?

前言 由于缓存的高并发和高性能已经在各种项目中被广泛使用&#xff0c;在读取缓存这方面基本都是一致的&#xff0c;大概都是按照下图的流程进行操作&#xff1a; 但是在更新缓存方面&#xff0c;是更新完数据库再更新缓存还是直接删除缓存呢&#xff1f;又或者是先删除缓存再…

ATTCK v13版本战术介绍——防御规避(六)

一、引言 在前几期文章中我们介绍了ATT&CK中侦察、资源开发、初始访问、执行、持久化、提权战术理论知识及实战研究、部分防御规避战术&#xff0c;本期我们为大家介绍ATT&CK 14项战术中防御规避战术第31-36种子技术&#xff0c;后续会介绍防御规避其他子技术&#xf…

Revit幕墙:这些命令在幕墙嵌板中的妙用及快速幕墙

一、Revit中这些命令在幕墙嵌板中的妙用 在我们做幕墙时&#xff0c;通常会有不同种类的幕墙&#xff0c;比如材质不同&#xff0c;颜色不同。这时我们就需要去选中嵌板进行替换新样式的嵌板。 1.通常我们在替换嵌板时都是通过Tab切换&#xff0c;然后选中嵌板。这样进行来回切…

携手企企通,农业产业化国家重点龙头企业「罗牛山」加速采购数智化建设

导语 与企企通形成战略合作&#xff0c;双方基于供应商、合同管理、采购协同等多方面的应用场景&#xff0c;打造立足海南辐射全国的行业标准化解决方案。行业案例的示范作用&#xff0c;不仅对牛罗山采购业务数字化有指导意义&#xff0c;对整个畜牧养殖行业加入采购供应链管…

AI人工智能预处理数据的方法和技术有哪些?

AI人工智能 预处理数据 在人工智能&#xff08;Artificial Intelligence&#xff0c;简称AI&#xff09;领域中&#xff0c;数据预处理是非常重要的一环。它是在将数据输入到模型之前对数据进行处理和清洗的过程。数据预处理可以提高模型的准确性、可靠性和可解释性。 本文将…

阿里三面过了,却无理由挂了,HR反问一句话:为什么不考虑阿里?

进入互联网大厂一般都是“过五关斩六将”&#xff0c;难度堪比西天取经&#xff0c;但当你真正面对这些大厂的面试时&#xff0c;有时候又会被其中的神操作弄的很是蒙圈。 近日&#xff0c;某位测试员发帖称&#xff0c;自己去阿里面试&#xff0c;三面都过了&#xff0c;却被…

IMU和GPS融合定位(ESKF)

说明 1.本文理论部分参考文章https://zhuanlan.zhihu.com/p/152662055和https://blog.csdn.net/brightming/article/details/118057262 ROS下的实践参考https://blog.csdn.net/qinqinxiansheng/article/details/107108475和https://zhuanlan.zhihu.com/p/163038275 理论 坐标…

Python中的自定义函数创建方法和应用举例

Python中的自定义函数创建方法和应用举例 在Python语言中&#xff0c;函数是一组能够完成特定任务的语句模块&#xff0c;可分为内置函数、第三方模块函数和自定义函数。其中&#xff0c;内置函数是Python系统自带的函数&#xff1b;模块函数是NumPy等库中的函数。 1.自定义函…

如何让数据安全管理工作化繁为简?uDSP 十问十答

数据安全管理工作与国家数据安全、企业资产保护以及个人信息保护工作息息相关。复杂、多元、流通的数据也给数据安全带来了更多的威胁和挑战&#xff0c;如数据资产管理、分类分级问题&#xff0c;数据安全集中管控问题&#xff0c;数据共享与流通问题等。原点安全一体化数据安…

开源之夏 2023 | 欢迎报名Rust相关项目

开源之夏是中国科学院软件研究所联合openEuler发起的开源软件供应链点亮计划系列暑期活动&#xff0c;旨在鼓励在校学生积极参与开源软件的开发维护&#xff0c;促进优秀开源软件社区的蓬勃发展。活动联合各大开源社区&#xff0c;针对重要开源软件的开发与维护提供项目&#x…

Mongodb Shell 常用操作命令

目录 一、启动与关闭mongodb服务 二、进入shell操作 三、常用shell命令 一、启动与关闭mongodb服务 启动:命令: ./mongod -config ../data/mongodb.conf 关闭命令: ./mongod -config ../data/mongodb.conf -shutdown 二、进入shell操作 命令:./mongo 三、常用shell命令 sh…

企业型OV,增强型EV证书开通审核流程

选购 OV、EV型证书需要是企业用户&#xff0c;申请过程中需要提交企业资料。 选择证书品牌及型号 管理中心补全审核资料 下载“确认函”签字盖章并扫描&#xff0c;再上传。 审核部门联系确认企业信息&#xff0c;&#xff08;过需要7-10个工作日&#xff09; 审核通过&…

京东商品详情API调用说明 京东商品库存销量接口

尊敬的开发人员&#xff1a; 感谢您选择使用京东API进行开发。下面为您提供一份简要的API调用说明&#xff0c;帮助您快速上手并实现所需功能。 1.注册京东开放平台账户并创建应用 首先&#xff0c;您需要在 https://o0b.cn/jennif/ 网站上注册一个京东开放平台的账户&#…