接口测试如何高效管理接口文档 !

news2024/11/19 14:50:45

痛点

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

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

某个项目开发完成,接口文档发布在了 swagger 上,前后端各自进行开发。此时你负责这个项目的服务端测试。

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

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

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

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

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

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

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

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

支持 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 是跨平台的工具,支持 macOS(Intel+M1)、Linux、windows(32 位、64 位),在官网 https://www.eolink.com, 选择对应系统的安装包下载安装即可用。

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

接口文档管理

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

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

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

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

自动同步接口

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

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

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

在线接口文档

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

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

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

在线访问地址

接口调试

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

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

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

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

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

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

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

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

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

if(code !=200){
eo.error("接口断言失败");
}
丰富的内置函数,基本上满足日常测试工作要求,包括: 单接口测试、串联接口测试。

总结

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

测试人员面临的挑战是:

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

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

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

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

2023最新Jmeter接口测试从入门到精通(全套项目实战教程)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自动化办公篇之python

1、如果没有安装xlwings库,先在控制台pip install xlwings,然后点击运行,创建四个空excel表 。 import xlwings as xw app xw.App(visibleTrue,add_bookFalse) for dept in ["技术部","销售部","运营部","财务部&q…

2023年中国渔业研究报告

第一章 行业概况 1.1 定义 渔业,作为全球经济的重要支柱之一,其核心活动包括捕捞、水产养殖、产品加工与销售等。其不仅是食物安全的重要保障,还是许多沿海和内陆地区经济发展的重要动力。 首先,捕捞活动是渔业的基础。通过海洋…

中国走向碳中和:零碳联盟的关键角色

随着近期联合国大会上主席宣布的中国碳中和目标,国家的低碳转型和绿色可持续发展再次成为焦点。面对这样的国家大政方针,不少企业和机构纷纷响应,其中零碳联盟的努力与成果更是备受瞩目。 零碳联盟,作为中国投资协会联合多家机构…

微信小程序生成海报

效果: js1: const cloudHelper = require(../../../helper/cloud_helper.js);async function config1({cover,title,desc,qr,bg = }) {var qr1 ="images/qr.png"var qr2 ="https://636c-cloud1-0gu29f2j63906b7e-1319556650.tcb.qcloud.la/activitycomm/setu…

C++入门 —— 命名空间

命名空间 前言1. 什么是命名空间2. 命名空间的定义3. 命名空间的使用3.1 域作用限定符 ::3.2 使用using将命名空间中某个成员引入3.3 使用using namespace 命名空间名称 引入 4. cin/cout 输入输出4.1 C中的输入输入与C中的输入输出对比 所属专栏:C“嘎嘎" 系统…

快速自动化处理JavaScript渲染页面

在进行网络数据抓取时,许多网站使用了JavaScript来动态加载内容,这给传统的网络爬虫带来了一定的挑战。本文将介绍如何使用Selenium和ChromeDriver来实现自动化处理JavaScript渲染页面,并实现有效的数据抓取。 1、Selenium和ChromeDriver简介…

AN基础工具——动画人物上色

【AN基础工具——动画人物上色】 基本操作滴管工具填充工具画笔工具流畅画笔工具 实例,给多啦A梦上色注意事项 本篇内容:动画人物绘制基础 重点内容:滴管工具,画笔工具,填充工具 工 具:Adobe Animate 2022 …

17个开源的Go语言博客和CMS解决方案

Go语言,也称为Golang,是一种为构建高效、可靠和可扩展软件而设计的开源编程语言。它于2007年在Google开发,现在广泛用于开发Web应用程序、网络工具和系统软件。 为什么使用基于Go的CMS解决方案? 这些优势使Go成为开发可扩展、高…

鼠标划过改变子元素的属性 vue

鼠标划过改变子元素的属性 vue (未完成) 一、需求 我想做一个类似词句大爆炸的效果,将一个句子炸成多个词条,然后手动选择需要的内容。 结构是这样的 wordList -> word 需要的操作是鼠标左键划过的时候将划过的字词选中。 …

【Proteus仿真】【51单片机】水箱液位监控系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器,使用LCD1602液晶、按键、蜂鸣器、液位传感器、PCF8591 ADC转换器、水泵等。 主要功能: 系统运行后,LCD1602显示当前水位、上下限…

07 | @Entity 之间的关联关系注解如何正确使用?

实体与实体之间的关联关系一共分为四种,分别为 OneToOne、OneToMany、ManyToOne 和 ManyToMany;而实体之间的关联关系又分为双向的和单向的。实体之间的关联关系是在 JPA 使用中最容易发生问题的地方,接下来我将一一揭晓并解释。我们先看一下…

简单总结Centos7安装Tomcat10.0版本

文章目录 前言JDK8安装部署Tomcat 前言 注意jdk与tomcat的兼容问题,其他的只要正确操作一般问题不大 Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对 Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能,如Tomca…

鼠标右键展示“用Hbuilder“打开方法

桌面新建一个 文本文档,把下面这段粘贴进去 [Version] Signature"$Windows NT$" [DefaultInstall] AddRegHBuilderX [HBuilderX] hkcr,"*\\shell\\HBuilderX",,,"用 HBuilderX 打开" hkcr,"*\\shell\\HBuilderX\\command"…

“过度炒作”的大模型巨亏,Copilot每月收10刀,倒赔20刀

大模型无论是训练还是使用,都比较“烧钱”,只是其背后的成本究竟高到何处?已经推出大模型商用产品的公司到底有没有赚到钱?事实上,即使微软、亚马逊、Adobe 这些大厂,距离盈利之路还有很远!同时…

超低延时 TCP/UDP IP核

实现以太网协议集当中的ARP、ICMP、UDP以及TCP协议 一、概述 TCP_IP核是公司自主开发的使用FPGA逻辑搭建的用于10G以太网通信IP。该IP能够实现以太网协议集当中的ARP、ICMP、UDP以及TCP协议。支持连接10G/25G以太网PHY,组成高速网络通信系统。该IP上传、下传数据B…

【C++从0到王者】第三十七站:模拟unordered_map和unordered_set

文章目录 一、哈希表的修改二、迭代器1.普通迭代器2.const迭代器3.插入返回值4.unordered_map的operator[] 三、完整代码 一、哈希表的修改 如下是我们一开始的哈希表 namespace hash_bucket {template<class K,class V>struct HashNode{pair<K, V> _kv;HashNode…

【【萌新的SOC学习之自定义IP核 AXI4接口】】

萌新的SOC学习之自定义IP核 AXI4接口 自定义IP核-AXI4接口 AXI接口时序 对于一个读数据信号 AXI突发读 不要忘记 最后还有拉高RLAST 表示信号的中止 实验任务 &#xff1a; 通过自定义一个AXI4接口的IP核 &#xff0c;通过AXI_HP接口对PS端 DDR3 进行读写测试 。 S_AXI…

RocketMQ为什么要保证订阅关系一致

这篇文章&#xff0c;笔者想聊聊 RocketMQ 最佳实践之一&#xff1a;保证订阅关系一致。 订阅关系一致指的是同一个消费者 Group ID 下所有 Consumer 实例所订阅的 Topic 、Tag 必须完全一致。 如果订阅关系不一致&#xff0c;消息消费的逻辑就会混乱&#xff0c;甚至导致消息丢…

FreeSOLO: Learning to Segment Objects without Annotations*(论文解析)

FreeSOLO: Learning to Segment Objects without Annotations* 摘要引言 摘要 实例分割是一项基本的计算机视觉任务&#xff0c;旨在识别并分割图像中的每个对象。然而&#xff0c;要学习实例分割通常需要昂贵的注释&#xff0c;例如边界框和分割掩模。在这项工作中&#xff0…

使用PyQt5创建图片查看器应用程序

使用PyQt5创建图片查看器应用程序 作者&#xff1a;安静到无声 个人主页 在本教程中&#xff0c;我们将使用PyQt5库创建一个简单的图片查看器应用程序。这个应用程序可以显示一系列图片&#xff0c;并允许用户通过按钮切换、跳转到不同的图片。 1. 准备工作 首先&#xff0…