我发现了一款高效管理接口文档的神器_程序员springmeng的博客-程序员ITS301_接口文档编辑工具

技术标签: javaweb开发  java学习  

大家好,我是小孟,最近做了不少项目,后面会路线开源给大家。

做的这些项目的过程中,发现了一款接口文档的神器。

喜欢尝鲜的小伙伴可以纳拿去使用,可以找小孟一起交流呀。

也希望大家的技术一样棒棒的,然后搞点私活,香的狠!

痛点

如果你负责测试的项目是一个前后端分离的项目。

回忆下是不是有如下场景:

某个项目开发完成,接口文档发布在了swagger上,前后端各自进行开发。

此时你负责这个项目的服务端测试。

首先进行接口测试,熟练的打开postman导入swagger文档,然后开始进行接口测试。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BBA5t8w2-1657715852258)(如何高效管理接口文档/image1.png)]

接口测试完成后,准备开始性能测试。又要将swagger接口文档的新接口迁移到jmeter上,然后开始编写压测脚本。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JnOZtlNV-1657715852259)(如何高效管理接口文档/image2.png)]

某个项目在测试中,由于后端修复bug改了接口参数,此时你进行接口回归测试,发现接口测试脚本失败,此时给开发提了一个bug。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fUEPRjzO-1657715852260)(如何高效管理接口文档/image3.png)]

开发跑过来给你说,接口文档有变动忘了和你说了,此时你只能默默的修改接口测试用例。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vMl1zFnr-1657715852261)(如何高效管理接口文档/image4.png)]

服务上线一段时间后。某天,新员工开发小黄想想看下这个项目之前的接口文档,发现测试环境接口swagger地址打不开了,没有地方可以看接口文档。

其实上边这些问题,在日常工作中很常见。其根本原因是接口文档缺乏统一管理,有的团队喜欢把接口文档写在内部协作文档平台里、有的团队喜欢写在 git 代码仓库里,它们的存放目录及目录深度各有不同。当后来人想要看接口的历史文档时,无从查起,许多文档就这样遗失了。

你有没有想过拥有一个,可以同时解决数据同步、调试、Mock、自动化测试的接口文档管理工具。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FJrXMSuh-1657715852261)(如何高效管理接口文档/image5.png)]

什么是eolink

结合 API 设计、文档管理、自动化测试、监控、研发管理和团队协作的一站式 API 生产平台,从个人开发者到跨国企业用户,Eolink 帮助全球超过30万开发者和数万家企业更快、更好且更安全地开发和使用 API。

为什么选eolink

支持 HTTP(S)、Websocket、TCP、UDP 等主流协议,通过代码注解自动生成 API 文档,或者从 API 文档反向生成所有常见开发语言和框架的代码,节省 API 设计和开发时间。强大的 API 版本和变更管理让你不放过 API 的任何变动。

  • 支持所有主流协议
  • 代码自动生成 API 文档
  • API 文档自动生成代码
  • API 版本管理
  • API 变更通知

超方便的 API 测试
支持多种方式快速发起 API 测试,自动生成随机测试数据和测试用例,一键对 API 进行批量回归和冒烟测试,并且立刻得到丰富详细的测试报告,让繁琐的 API 测试变得如此简单。

  • 支持在线、本地、客户端进行测试
  • 一键进行回归/冒烟测试
  • 快速创建测试用例
  • 自动生成测试数据
  • 丰富详细的测试报告

0代码的 API 自动化测试
不需要编写代码,通过拖拉拽即可创建 API 测试流程,API 文档和测试步骤自动关联,当 API 文档发生变化时自动同步到测试用例,极低的学习和维护成本。并且通过定时自动测试将测试报告推送到邮箱、钉钉、企业微信、飞书、Jenkins 等平台,与 CI/CD 流程无缝结合。

  • 与 API 文档关联与自动同步
  • 0代码,拖拉拽完成测试流程编排
  • 统一管理测试数据
  • 对数据库进行操作
  • 定时自动测试
  • 测试报告自动推送

eolink初体验

我们看一下eolink是如何使用接口文档管理工具、接口文档生成工具这两个功能。解决日常工作中,涉及接口文档变更问题。

安装注册

eolink是跨平台的工具,支持macOS(Intel+M1)、Linux、windows(32位、64位),在官网 , 选择对应系统的安装包下载安装即可用。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IaxSSHJb-1657715852262)(如何高效管理接口文档/image6.png)]

首次使用注册账号就可以使用。登录eolink后,可以看到左侧的项目、环境、高级功能。点击项目,可以看到API文档管理。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H31hfbGs-1657715852263)(如何高效管理接口文档/image7.png)]

接口文档管理

eolink支持多种导入数据方式,比如swagger、jmeter、yapi、rap等常用接口测试工具,这里我们沿用使用swagger工具导入数据,其他工具导入的方式也大同小异,后续再介绍。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ArImYriE-1657715852263)(如何高效管理接口文档/image8.png)]

导入接口数据后的接口列表展示效果,可以看到接口名称、接口路径、协议等参数。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oXcCXrlb-1657715852264)(如何高效管理接口文档/image9.png)]

随便点击一个接口,可以看到基本信息、请求参数、响应内容。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U8n3bJdn-1657715852265)(如何高效管理接口文档/image10.png)]

点击修改文档/新建接口,可以编辑接口的信息。点击保存,可以触发消息通知给相关人员。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C8Ba4MJ8-1657715852265)(如何高效管理接口文档/image11.png)]

自动同步接口

在研发过程中,开发人员修改代码,重启服务后swagger工具会自动更新,但是eolink中还是旧的接口数据,这就会导致接口文档不及时更新的问题。

在eolink可以通过代码注解或者其他工具自动生成或抓取API文档,是怎么做到的呢?

输入项目的swagger地址,数据同步方式选择增量更新,这样做的好处是在旧接口文档的基础上增量修改,避免了重复新增接口数据。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1jaBLGQ7-1657715852266)(如何高效管理接口文档/image12.png)]

在线接口文档

根据定义好的接口,生成可以通过浏览器访问的web地址分享给其他人。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K420TwxA-1657715852266)(如何高效管理接口文档/image13.png)]

在线接口文档适合提供给本地没有安装eolink客户端的用户,方便大家随时可以查看接口信息、进行接口测试。

另外在设置分享页面,设置可见项目环境、设置分享的功能模块,例如 Mock、API 测试、API 测试用例等等。

在线访问地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dFrTRkz6-1657715852267)(如何高效管理接口文档/image14.png)]

接口调试

当我们设计好接口测试用例之后,可以调试看看效果。

以查询商品接口为例,进入执行页面,填写完成参数值,选择运行环境,点击运行即可发起一个简单的请求,页面下方可查看接口响应、请求详情。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BrP32CXS-1657715852267)(如何高效管理接口文档/image15.png)]

接口调试参数可以保存为一个接口测试用例用例,方便下次调试或者团队成员测试使用。

执行接口参数用例的目的是验证不同测试场景下接口的正确性,例如密码错误、用户名非法、参数值空等等。

如果需要从响应提取信息以供后续请求使用,通过可视化 UI 操作即可0编码实现提取变量和对返回值断言的操作。

入口在后置操作里面,我们从响应提取一code存为环境变量,并断言响应里的code字段值为"200"。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a4jA3kBB-1657715852268)(如何高效管理接口文档/image17.png)]

可以查看内置函数手册,使用内置函数进行断言,如果接口返回格式是json格式,可以使用jsonpath获取需要的字段值,进行断言。

后置脚本例子,获取code字段参数:

var info = eo.http.response.get("info")
var code = eo.jsonpath("code",info);
eo.info(code);

if(code !=200){
   eo.error("接口断言失败"); 
}

丰富的内置函数,基本上满足日常测试工作要求,包括: 单接口测试、串联接口测试。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8yvgPSqM-1657715852269)(如何高效管理接口文档/image18.png)]

总结

随着项目不断的迭代,项目也越来越复杂。带来的问题是,接口入参和出参会不断地新增、修改。

测试人员面临的挑战是:

1、如何获取最新的接口文档

2、如何降低接口测试的成本

3、如何提高团队协作的效率

eolink既能管理接口又能做自动化测试、好用好看还免费的接口文档工具, 还不赶紧用起来~

上面就是小孟三天搞一个项目,这么神速的原因,因为开发有神器呀。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/mengchuan6666/article/details/125772214

智能推荐

Rust的前景怎么样?值不值的学—Rust对比、特色和理念_Linux服务器开发的博客-程序员ITS301_rust语言前景

前言其实我一直弄不明白一点,那就是计算机技术的发展,是让这个世界变得简单了,还是变得更复杂了。当然这只是一个玩笑,可别把这个问题当真。然而对于IT从业者来说,这可不是一个玩笑。几乎每一次的技术发展,都让这个生态变得更为复杂。“英年早秃”已经成为一种很普遍的现象。Rust是近两年呼声比较高的一种新型开发语言。市场占有量并不大,但增长速度极为迅猛。有人统计过,在计算机行业,平均每33.5天就有一种所谓的新型开发语言面世,这还不包括很多企业内部、项目内部的内置简易流程工具。然而大浪淘沙,如今仍然占

Android高版本联网失败报错:Cleartext HTTP traffic to xxx not permitted解决方法_MerryLiuOnly的博客-程序员ITS301

Android高版本联网失败报错:Cleartext HTTP traffic to xxx not permitted解决方法 前言:为保证用户数据和设备的安全,Google针对下一代 Android 系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的连接,因此运行 Android P 系统的安卓设备无论是接收或者发送流量,未来都不能明码

超强工具集——GitHub 热点速览 Vol.47_削微寒的博客-程序员ITS301

作者:HelloGitHub-小鱼干本周 GitHub 趋势榜精彩至极,先是 JetBrains 开源的图像渲染引擎 Skia 有了 Java 封装,一开源便获得 500+ star,再是支持开发者在页面展示网站运行状态,实时报告的 upptime 凭借单日 1k star 进账,上了 Trending 榜。另类 Kubernetes 发行版——K0s 也是颇为出色,一周获得了近 2k star。清华大学研究团队开源的 26 亿参数规模的中文语言模型 (CPM-LM) ,表现也很抢眼。最后,一定要提下超.

java子类的子类怎么定义_用户定义的Java异常子类_cunfen6312的博客-程序员ITS301

java子类的子类怎么定义 用户定义的Java异常子类 (User defined Exception subclass in Java)Java provides rich set of built-in exception classes like: ArithmeticException, IOException, NullPointerException etc. all are av...

ROS使用Realsense D435i小记_柚子一打的博客-程序员ITS301

ROS使用Realsense D435i小记基本配置安装过程基本配置系统:ubuntu 18.04ROS:melodic安装过程README.md中提供了使用教程,这里主要针对Intel RealSense SDK 2.0的安装。// 安装Intel RealSense SDK 2.0sudo apt-key adv --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo ap

随便推点

XLNet:运行机制及和Bert的异同比较_郝伟博士的博客-程序员ITS301

文章目录自回归语言模型(Autoregressive LM)自编码语言模型(Autoencoder LM)XLNet做了些什么与Bert的预训练过程的异同问题哪些因素在起作用?对NLP应用任务的影响转载来源:https://zhuanlan.zhihu.com/p/70257427最近,XLNet貌似也引起了NLP圈的极大关注,从实验数据看,在某些场景下,确实XLNet相对Bert有很大幅度的提升。就像我们之前说的,感觉Bert打开两阶段模式的魔法盒开关后,在这条路上,会有越来越多的同行者,而XLNe

html和CSS基础学习(十三)_MsStrbig的博客-程序员ITS301

(1)在网页制作中让box2和box3并排在一起使用可以 浮动,也可以使用外边距,当margin-top为负值可以向上移动。.box2{                                  width:200px;                                  height:200px;                               

mac虚拟机与本机复制粘贴拖动及共享文件夹(parallels desktop装win7系统)_Yolanda_NuoNuo的博客-程序员ITS301

本本是mac,平时还是有诸多不便的,公司电脑用的是windows,许多不兼容的问题,还是需要一个windows环境啊,仔细思考了一下,决定装个虚拟机就算了,双系统切换麻烦不方便,安装也复杂些。折腾了一小下,所以下面就记录一下安装的过程吧。 第一步,下载virtual box。 百度搜一下,下载个便是。 直接安装,到这里。 第二步,新建一个虚拟机,这里我就不过多的写了,因为百度经验已经有了

JS获取本地经纬度_Jarvan大熊的博客-程序员ITS301_js获取经纬度坐标

一个最简单的调用方法window.navigator.geolocation.getCurrentPosition(function (position) { console.log(position.coords.latitude) console.log(position.coords.longitude)})封装好的代码如下:function getPos...

Ajax原生GET和POST请求及Jquery Ajax的GET和POST请求_范特西_jay的博客-程序员ITS301_ajax get请求

Ajax原生GET请求接口:/** * 原生Ajax GET请求 */function getOrigantAjaxGet() { var oAjax = null; //这里进行HTTP请求,创建异步对象 try { oAjax = new XMLHttpRequest(); } catch (e) { oAjax ...

VS2012(X64)+PCL1.7.2+Kinect SDK1.8+OpenCV2.4_Bryan要加油的博客-程序员ITS301

1.分别安装PCL1.7.2,Kinect SDK1.8和OpenCV 2.4.92.在系统环境变量中添加PCL_ROOT,值为PCL的安装目录;在PATH的值中添加;%PCL_ROOT%\bin;%PCL_ROOT%\3rdParty\FLANN\bin;%PCL_ROOT%\3rdParty\VTK\bin3.在PATH的值中添加D:\Program Files\opencv\open

推荐文章

热门文章

相关标签