jmeter单接口和多接口测试

 最近接触到了多接口串联,接口串联的技术会在其他帖子有说明,其核心技术点就是通过正则表达式和变量来实现接口的关联。目前为止呢笔者用到的地方还只有一个,就是关于session保持的时候。但是看到很多资料都说测试过程中经常遇到b接口需要用a接口的返回数据,但是笔者到目前都没怎么遇到过,思来想去,是笔者打开方式不对吗?于是专门找了一块流程上有前后关系的地方进行实践,以下就详细说说这次学习成果。

jmeter接口测试:2小时教你学会Jmeter接口测试,实战项目+框架+源码供你学习_哔哩哔哩_bilibiliicon-default.png?t=N7T8https://www.bilibili.com/video/BV1Fo4y1s7Ba/?spm_id_from=333.999.0.0

在本系统中有一个类似如下的业务场景:

业务场景:电商平台中,客户退货流程。客户提出退货申请-退货申请发送至商家-商家处理退货申请-客户确认退货成功
待测功能:查询该用户进行中的退货进度

 
难点1:商家回复处理过程在商家平台
难点2:无法从上一接口的相应信息提取有用字段,提交申请返回就一个true,连id都没有,等于接口没办法关联,但是实际又是存在业务逻辑的前后关系

针对以上场景我设计了两种测试方案:

  • 方案1:单接口测试,数据写死,固定测试数据,针对性设计不同的订单数据,对基础数据要求比较高

  自动化流程:1先手动生成各类型,处于各阶段的退货订单
        2调用查询退货进度接口查询对应客户的退货订单,并断言与步骤1生成的数据是否一致

  优点:单个工作量小,接口独立,稳定性高。
  缺点:数据维护成本高,真实性差,每个接口都需要大量数据测试

  • 方案2:接口关联,模拟业务流程,通过接口控制数据的传递,只需要给出初始订单数据,即可模拟出业务流程中的动态数据流。

  自动化流程:1 调用新增退货申请接口,新增退货申请并发送商家
        2 调用查询退货进度接口查询步骤1生成的订单,断言是否查询到步骤1生成的数据,是否处于对应进度(已提交)
        3调用商家回复接口回复申请
        4 调用查询退货进度接口查询步骤1生成的订单,断言订单是否正确(商家已处理)
        5 调用用户确认接口,确认退货成功
        6 调用查询退货进度接口查询步骤1生成的订单,断言订单是否正确(退货完成,订单关闭)

  优点:真实性强,数据易于管理,更清晰更流程化
  缺点:工作难度大,工作复杂,代码维护成本高,稳定性差

总结

方案一偏向接口功能测试,测试接口对于不同数据的处理情况。方案二偏向业务流程测试,测试不同的业务流程中数据的变化及接口的处理情况,更真实模拟实际场景

笔者做完后发现,这不就有点像单元和集成的关系嘛。最终笔者选择了方案一,因为笔者公司不止一个人,除了待测的查询进行中订单状态接口外的其他接口并不在我负责范围,所以我只需要针对我的接口进行针对性测试即可。其实选择哪种测试方式并不重要,自动化的目标旨在降低测试成本,提高测试效率,适合自己的方式,就是最好的了。

 jmeter接口测试:2小时教你学会Jmeter接口测试,实战项目+框架+源码供你学习_哔哩哔哩_bilibiliicon-default.png?t=N7T8https://www.bilibili.com/video/BV1Fo4y1s7Ba/?spm_id_from=333.999.0.0

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

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

相关文章

Nginx安装与部署

文章目录 一,说明二,下载三,Windows下安装1,安装2,启动3,验证 四,Linux下安装1,安装2,启动3,验证 五,Nginx配置 一,说明 Nginx是一款高性能Web和反向代理服务器,提供内存少,高并发,负载均衡和反向代理服务,支持windos和linux系统 二,下载 打开浏览器,输入地址: https://ngin…

机器学习基础17-基于波士顿房价(Boston House Price)数据集训练模型的整个过程讲解

机器学习是一项经验技能,实践是掌握机器学习、提高利用机器学习 解决问题的能力的有效方法之一。那么如何通过机器学习来解决问题呢? 本节将通过一个实例来一步一步地介绍一个回归问题。 本章主要介绍以下内容: 如何端到端地完成一个回归问题…

linux免密登录最简单--图文详解

最简单的免密登录 1.A电脑生成秘钥 ssh-keygen -t rsa 2.A电脑将秘钥传给B电脑 ssh-copy-id root192.168.1.129 #将秘钥直接传给B电脑 需要输入B电脑的密码,可以看到成功。 3.测试 同理:如果B->A也需要免密登录,统一的操作。 大功告…

uniapp 开发之仿抖音,上下滑动切换视频、点击小爱心效果

效果图: 功能描述: 上下滑动视频,双击暂停,然后第一个视频再往上滑显示”已经滑到顶了“ 开始代码: 首先视频接口使用的公开的视频测试接口 开放API-2.0 官网展示 Swagger UI 接口文档 一…

RHCA之路---EX280(4)

RHCA之路—EX280(4) 1. 题目 Use the S2I functionality of your OpenShift instance to build an application in the rome project Use the Git repository at http://services.lab.example.com/php-helloworld for the application source Use the Docker image labeled re…

Windows 安装 RabbitMq

Windows 上安装 RabbitMQ 的步骤 RabbitMQ 是一个强大的开源消息队列系统,广泛用于构建分布式、可扩展的应用程序。本教程将带您一步一步完成在 Windows 系统上安装 RabbitMQ 的过程。无需担心,即使您是初学者,也能够轻松跟随这些简单的步骤…

数字生意 经“九”长兴 | 秦丝9周年荣誉盘点

数字生意 经“九”长兴 转眼间,秦丝已经成立了9年 帮助200万商家实现数字化转型 在数字生意的道路上经“九”长兴 9年来,秦丝深入全国各地服装市场调研 9年来,秦丝结合百万商家建议不断更新 9年来,秦丝产品和服务市场好评率9…

ELK安装、部署、调试(六) logstash的安装和配置

1.介绍 Logstash是具有实时流水线能力的开源的数据收集引擎。Logstash可以动态统一不同来源的数据,并将数据标准化到您选择的目标输出。它提供了大量插件,可帮助我们解析,丰富,转换和缓冲任何类型的数据。 管道(Logs…

html2canvas 截图空白 或出现toDataURL‘ on ‘HTMLCanvasElement或img标签没截下来 的所有解决办法

1.如果截图空白: 1.1以下的参数是必须要有的。 width: shareContent.offsetWidth, //设置canvas尺寸与所截图尺寸相同,防止白边height: shareContent.offsetHeight, //防止白边logging: true,useCORS: true,x:0,y:0,2,如果出现了报错 toData…

使命召唤中将启用AI检测仇恨言论!

“ToxMod”将自动标记口头骚扰、欺凌和歧视。 周三,动视宣布的它将在即将于11月10日发布的中引入实时人工智能语音聊天调节功能使命召唤:现代战争3。该公司正与调整为了实现这一特性,我们使用了一种叫做托西莫德识别仇恨言论、欺凌、骚扰和歧视并采取行动…

线性代数的学习和整理16:什么是各种空间(类型),向量空间,距离(类型)?

目录 1 空间相关的群,环,域,集合,空间的预备知识 1.1:群,环,域,集合,空间的定义(表示不懂,只是做个标记) 2 空间 2.1 各种空间概念…

Unity 之 方括号[ ] 的用法以及作用

文章目录 在Unity中,方括号 [ ] 通常用于表示属性、特性(Attributes)或者元数据(Metadata)。这些标记提供了附加信息,可以用于修改类、方法、字段等的行为或者在编辑器中进行设置。 以下是一些常见的用法&…