# Apifox前后端开发人员使用场景

Apifox前后端开发人员使用场景

概述

官网:Apifox 快速入门 | Apifox 帮助文档

功能描述

1、在日常编程开发过程中经常使用前后端分离架构的模式,一个项目的落地会通过产品、开发、测试三方会审,对项目需求评审过后,前后端开发会制定一些接口,通常会用以下方式:

  • 编写指定接口文档。
  • 后端开发依据接口文档开发接口,一边开发一边测试。
  • 前端开发需要(Mock)数据供前端调用。
  • 开发完成后,测试通过(PostmanJmeter)去进行接口测试。

2、为了能让项目落地更加便捷,Apifox应运而生实现了API设计开发测试一体化协作。Apifox=Postman+Swagger+Jmeter+Mock工具集。
在这里插入图片描述

优势

在这里插入图片描述
1、ApifoxAPI 文档、API 调试、API MockAPI 自动化测试一体化协作平台。高效、及时、准确!
2、接口信息云端实时同步更新,响应团队协作。
3、Apifox 项目可“在线分享” API 文档,分享出去的 API 文档可设置为公开或需要密码访问,方便与外部团队进行协作。
4、支持导出各种数据格式OpenApi (Swagger)MarkdownHtml

在这里插入图片描述
在这里插入图片描述

开发人员使用流程

总述

  1. 前端(或后端)在 Apifox 上定好接口文档初稿。
  2. 前后端 一起评审、完善接口文档,定好接口用例
  3. 前端 使用系统根据接口文档自动生成的 Mock 数据进入开发,无需手写 mock 规则。
  4. 后端 使用接口用例 调试开发中的接口,当所有接口用例调试通过,接口即开发完成。若开发过程中接口有改动,调试的时候会自动更新文档,零成本的保障了接口维护的及时性。
  5. 后端 每次调试完一个功能就保存为一个接口用例
  6. 测试人员 直接使用接口用例测试接口。
  7. 所有接口开发完成后,测试人员(也可以是后端)使用集合测试功能进行多接口集成测试,完整测试整个接口调用流程。
  8. 前后端 都开发完,前端从Mock 数据切换到正式数据,联调通常都会非常顺利,因为前后端双方都完全遵守了接口定义的规范。

新建团队

  1. 创建团队、创建新项目
    在这里插入图片描述
  2. 邀请团队成员
  3. 设置团队权限、设置项目权限
  4. 通知设置:支持将通知集成到第三方应用平台,接口变更后可发送消息通知

编写接口文档

  1. 编写基本信息
  2. 请求参数设置:新建数据模型,参数直接关联模型的属性
  3. 返回响应定义
    在这里插入图片描述
  4. 响应示例编写:响应示例可根据MocK规则自动生成
    在这里插入图片描述

前端使用Mock

  • 发送Mock快捷请求,直接获取接口样例数据
    在这里插入图片描述

后端调试模式开发接口

  1. 后端开发人员用调试模式对接口进行开发调试
  2. 后端人员调试用例可以保存下来

接口用例测试

  1. 测试人员或者后端人员对保存的接口用例进行测试

前后端联调

  1. 前后端都开发完,前端从Mock 数据切换到正式数据

接口文档分享

  1. 可以生成在线文档进行查看
    在这里插入图片描述

其它使用场景

接口管理

查看历史版本
  • 查看接口修改历史时,可以与某次操作进行对比
    在这里插入图片描述
在线分享
  • API 设计、开发、沟通、协作中,逻辑上应该以团队内共同定义的 API 文档为标准。
  • 实际操作中,团队成员习惯依靠 WordPDF 格式文件进行 API 文档协作,造成大量信息未能及时同步,将接口以在线形式分享将有助于提高团队之间的沟通效率。
用例管理
  • 定义接口的时候定义好这些不同状态的用例,接口调试的时候直接运行,非常高效。

Mock功能

  • 根据接口/数据结构定义、Mock 规则配置、Mock 期望配置等功能自动生成模拟数据

登录状态获取

Session/Cookie 方式
  • 先执行登录接口,执行完成后全局 Cookie 会自动保存返回的 Session/Cookie 信息。
  • 然后运行其他接口,会自动带上 Session/Cookie 信息。
Token 方式
  • 在环境 里的全局参数统一设置,所有接口运行时会自动加上全局参数,无需每个接口手动设置
全自动登录
  1. 自动登录过一次后,保存登录态,避免每次执行用例都调用登录接口。
  2. 编写前置脚本,将登录接口返回的登录凭证写入环境变量

接口自动化测试

获取Token公共脚本
  • 编写前置脚本(获取用户登录token
// 定义发送登录接口请求方法
function sendLoginRequest() {// 获取环境里的 前置 URLconst baseUrl = pm.request.getBaseUrl();// 构造一个 POST x-www-form-urlencoded 格式请求。这里需要改成你们实际登录接口的请求参数。const loginRequest = {url: baseUrl + "/test/login",method: "POST",// body 为 x-www-form-urlencoded 格式header: {"Content-Type": "application/json", // 注意:header 需要加上 },body: {mode: "raw", // 此处为 urlencoded// 此处为 urlencodedraw:JSON.stringify({ "username": "M8Lw9O0Qwy9+/LIuJlpa9IwkkDUnCeuirYhznDRqUZEwd247AHIxVVBCqoH+65XPkNmzV15jAvrZ3Id87JtorA==", "pwd": "nepr2BP3KRk6vCkrTVYaVzsdX/UgwkmP8DqSMuZRcyTSvBFYtGfPhohv4XQ+20RkG8o+d2HNqY2aRAxO9Wr6vg=="})},};// 发送请求。pm.sendRequest(loginRequest, function (err, res) {if (err) {console.log(err);} else {// 读取接口返回的 json 数据。const jsonData = res.json();console.log(jsonData)// 将 accessToken 写入环境变量 Tokenpm.environment.set("Token", jsonData.token);}});
}// 获取环境变量里的 Token
const accessToken = pm.environment.get("Token");// 如 Token 没有值,则执行发送登录接口请求
if (!accessToken) {sendLoginRequest();
}
自动化编排
  • 选择接口用例对接口进行编排操作
  • 设置编排的线程数和循环数
接口编排结果
  • 可以导出报告查看执行情况
  • 串行调用:将多个API串行调用,从而实现多个API的顺序执行。
  • 并行调用:将多个API并行调用,从而实现多个API的并发执行。
  • 条件调用:根据某些条件,选择调用不同的API
  • 循环调用:多次调用同一个API

要使用接口编排,您需要先创建一个接口编排文件。接口编排文件是一个JSON文件,其中包含了接口编排的定义。您可以使用Apifox提供的接口编排编辑器来创建接口编排文件。 创建接口编排文件后,您可以使用Apifox的接口编排功能来调用接口编排。您可以通过以下步骤来调用接口编排:

  1. Apifox中打开接口编排文件。
  2. 点击调用接口编排按钮。
  3. 选择要调用的接口编排。
  4. 点击调用按钮。

Apifox会根据接口编排文件的定义,调用相应的API。当所有API调用完成后,Apifox会返回接口编排的执行结果。

接口性能测试

  • 接口开发人员在开发接口的过程中,通过配置线程数、循环次数在接口联调完成之后进行并发测试,对慢的接口进行优化。
  • 可以将测试场景以 JMeter 格式导出,然后再导入至 JMeter 运行性能测试。
  1. 负载测试:Apifox可以生成负载测试,模拟真实用户流量来测试API的性能。您可以设置并发用户数、请求频率和持续时间等参数,以模拟不同负载条件下的API性能。
  2. 压力测试:Apifox可以进行压力测试,通过增加并发用户数和请求频率,来测试API在高负载情况下的性能表现。这有助于确定API在高负载条件下的稳定性和可靠性。
  3. 性能监控:Apifox提供实时的性能监控功能,可以监测API的响应时间、吞吐量、错误率等指标。您可以实时查看API的性能表现,并及时发现任何异常或潜在的问题。
  4. 性能分析:Apifox生成详细的性能报告,展示API在不同负载条件下的性能数据。报告中包括平均响应时间、最大响应时间、吞吐量、错误率等指标,帮助您深入了解API的性能状况,并找出性能瓶颈。
  5. 性能优化:根据性能报告中的数据和分析结果,您可以针对性地优化API的性能。可以通过优化代码、增加服务器资源、缓存数据等方式来提升API的性能和响应速度。
    实时查看API的性能表现,并及时发现任何异常或潜在的问题。
  6. 性能分析:Apifox生成详细的性能报告,展示API在不同负载条件下的性能数据。报告中包括平均响应时间、最大响应时间、吞吐量、错误率等指标,帮助您深入了解API的性能状况,并找出性能瓶颈。
  7. 性能优化:根据性能报告中的数据和分析结果,您可以针对性地优化API的性能。可以通过优化代码、增加服务器资源、缓存数据等方式来提升API的性能和响应速度。

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

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

相关文章

【数据结构(二)】双向链表(4)

文章目录 1. 基本概念2. 管理双向链表的思路3. 代码实现 1. 基本概念 管理单向链表的缺点分析: ①单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找。     ②单向链表不能自我删除,需要靠辅助节点 ,而双向…

【献给过去的自己】栈实现计算器(C语言)

背景 记得在刚学C语言时,写了一篇栈实现计算器-CSDN博客文章。偶然间看到了文章的阅读量以及评论,居然有1.7w的展现和多条博友的点评,反馈。 现在回过头来看,的确有许多不严谨的地方,毕竟当时分享文章时,还…

【日常】爬虫技巧进阶:textarea的value修改与提交问题(以智谱清言为例)

序言 记录一个近期困扰了一些时间的问题。 我很喜欢在爬虫中遇到问题,因为这意味着在这个看似简单的事情里还是有很多值得去探索的新东西。其实本身爬虫也是随着前后端技术的不断更新在进步的。 文章目录 序言Preliminary1 问题缘起1.1 Selenium长文本输入阻塞1.2…

激光雕刻机的雕刻操作

今天小编带大家来学习一下在实践当中学习到的基础操作,激光雕刻机的雕刻玻璃操作,欢迎评论指正。 目录 什么是激光雕刻机 怎么操作激光雕刻机操作 打开电源 打开电脑,选择需要的软件 在CAD上进行绘图,绘图完成进行保存 在RD…

Ubuntu 20.04 调整交换分区大小

Ubuntu 调整交换分区大小 一、系统情况二、去除旧的交换分区文件三、配置并启用交换分区四、查看swap文件大小 一、系统情况 Ubuntu :Ubuntu 20.04.6 LTS 交换分区位置: cat /proc/swaps二、去除旧的交换分区文件 去掉旧的交换分区有两个步骤&#x…

广州一母婴店因设置0元购导致关店

我是卢松松,点点上面的头像,欢迎关注我哦! 广州的一家母婴用品网店Minitutu因双十一优惠券设置错误,导致所有商品变成0元购买,引发消费者疯狂抢购,15万多单订单中有800多万元的损失。店家无奈之下只能暂停营…

css animation 动画如何保留动画结束后的状态 animation-fill-mode: forwards

css animation 动画如何保留动画结束后的状态 animation-fill-mode: forwards 一、问题描述 在做一个弹窗动画提示的时候遇到了一个问题: 在动画结束的时候,移除元素时会有闪一下的问题,像这样: 我的动画结尾是这样的&#xff…

LaTex生成引文(参考文献)时出现乱序,想把引文按顺序显示的解决方法

LaTex生成pdf时文献应用会乱序: 引用bib格式的参考文献时,会这么写: \bibliographystyle{plain} \bibliography{%filename%.bib} 而plain的意思是用作者的姓名排序,而不是按照引用顺序, 解决方案: 所以…

redis高级案列case

案列一 双写一致性 案例二 双锁策略 package com.redis.redis01.service;import com.redis.redis01.bean.RedisBs; import com.redis.redis01.mapper.RedisBsMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; imp…

流体的压力

压力是流体力学中很重要的物理量,国际标准单位为 Pa(帕斯卡),其他常用单位包括 MPa(兆帕)、atm(标准大气压)、Torr(托) 等。 在流体内部,压力是标…

数据结构树与二叉树的实现

目录 一、普通树的存储结构 1、双亲表示法 2.孩子表示法 二、二叉树 1.二叉树的顺序存储(必须是完全二叉树,否则很浪费空间) 1)结构体 2.二叉树的链式存储 1)结构体 2)操作 1.创建一颗二叉树 2.创…

Linux内核mmap内存映射详解及例子实现

mmap在linux哪里? 什么是mmap? 上图说了,mmap是操作这些设备的一种方法,所谓操作设备,比如IO端口(点亮一个LED)、LCD控制器、磁盘控制器,实际上就是往设备的物理地址读写数据。 但…

【Zabbix监控二】之zabbix自定义监控内容案例(自动发现、自动注册)

一、自定义监控内容 案例:自定义监控客户端服务器登录的人数 需求:限制登录人数不超过3个人,超过5个人就发出报警 1、在客户端创建自定义key 明确需要执行的linux命令 创建zabbix监控项配置文件,用于自定义Key #在zabbix的配…

SMART PLC数值积分器功能块(矩形+梯形积分法完整源代码)

PLC的数值积分器算法也可以参考下面文章链接: PLC算法系列之数值积分器(Integrator)-CSDN博客文章浏览阅读1.5k次,点赞3次,收藏3次。数值积分和微分在工程上的重要意义不用多说,闭环控制的PID控制器就是积分和微分信号的应用。流量累加也会用到。有关积分运算在流量累加上…

算法-二叉树-简单-二叉树的遍历

记录一下算法题的学习6 首先我们要回忆一下怎么样遍历一个树: 三种遍历概念 先序遍历:先访问根节点,再访问左子树,最后访问右子树。 后序遍历:先左子树,再右子树,最后根节点。 中序遍历&…

kafka原理看这一篇就够了

为何使用消息队列 异步。接口方式实现多个系统协作,如图A系统作为用户请求接收方,需要调用多个系统的接口,这些接口还有可能是在A系统里同步调用,所以最后的接口耗时是多个系统接口耗时的总和;mq方式则可以异步发送消…

解决ubuntu23.10 wifi不能使用的问题

解决ubuntu23.10 wifi不能使用的问题 今天升级到了ubuntu23.10之后,wifi不能使用。 参考此视频解决了问题: https://www.youtube.com/watch?appdesktop&vn92O8rNKVb0 sudo lshw -class networkcd /etc/pm/sleep.dlssudo touch configsudo gedit co…

Java制作俄罗斯方块

Java俄罗斯方块小游戏 import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.util.ArrayList; import java.util.List; imp…

C#,怎么修改(VS)Visual Studio 2022支持的C#版本

一些文字来自于 Microsoft . (只需要读下面的红色文字即可!) 1 C# 语言版本控制 最新的 C# 编译器根据项目的一个或多个目标框架确定默认语言版本。 Visual Studio 不提供用于更改值的 UI,但可以通过编辑 .csproj 文件来更改值。…

1688阿里巴巴官方开放平台API接口获取商品详情、商品规格信息列表、价格、宝贝详情数据调用示例说明

商品详情API接口在电商平台和购物应用中的作用非常重要。它提供了获取商品详细信息的能力,帮助用户了解和选择合适的商品,同时也支持开发者进行竞品分析、市场研究和推广营销等工作,以提高用户体验和促进销售增长。 1688.item_get-获得1688商…