JMeter 批量接口测试

2023-11-17

 

一、背景

最近在进行某中台的接口测试准备,发现接口数量非常多,有6、70个,而且每个接口都有大量的参数并且需要进行各种参数验证来测试接口是否能够正确返回响应值。想了几种方案后,决定尝试使用JMeter的csv读取来实现批量的接口测试。

接口测试实战教程全套:B站首推值得你收藏,零基础到精通

二、脚本编写

1、添加线程组

2、添加HTTP信息头管理器

添加必须的接口信息头,比如Appid、Authorization

3、添加HTTP请求

4、添加循环控制器

5、配置csv文件

定义传入的参数名称:

num:用例编号

apiSeq:功能序号

apiName:接口功能

classify:功能模块名称

api:接口地址

function:请求方法

parameter:请求体参数

expValue:预期结果

根据测试用例填写参数,如下表所示:

6、添加csv配置文件

将变量名称num,piSeq,apiName,classify,api,function,parameter,expValue按照英文逗号隔开;因为csv首行为参数名称,在参数设置中,忽略首行设置为True,同时设置遇到文件结束符停止线程。其他参数如下图所示:

7、设置HTTP请求参数

HTTP请求名称设置为:${num}${apiSeq}${apiName};

方法设置为:${function};

路径设置为:${url};

消息体设置为:${parameter}

8、添加断言

添加json断言,根据http请求返回结果,和预期结果${expValue}进行对比。

9、添加监听器

添加查看结果树,查看最后测试结果是否正确。

三、测试结果

预期结果和返回结果一致,结果树中显示为绿色,说明断言通过。下图展示一部分接口测试的结果:

 

四、总结

本期为大家介绍了JMeter使用csv读取参数的方式进行批量的接口测试,在项目时间紧急,测试时间比较短的时候使用,可以提升测试的效率。同时csv方便管理,可以根据测试用例随时进行补充,提高测试覆盖范围。如果有其他更方便的方法,欢迎与小编进行讨论。

最后,绵薄之力

感谢每一个认真阅读我文章的人,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

资料获取方式:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JMeter 批量接口测试 的相关文章

  • Vue 如何使用WebSocket与服务器建立链接 持续保持通信

    WebSocket 浏览器通过JavaScript向服务器发出建立WebSocket链接的请求 链接建立后 客户端和服务器端就可以通过TCP链接直接交互数据 WebSocket链接后可以通过 send 方法来向服务器发送数据 并通过 onn
  • 程序员找工作难!拿到外包公司的 offer 我应该去么?

    引言 前一阵子有一个帖子引起了非常广泛的讨论 描述的就是一个公司的外包工作人员 加班的时候因为吃了公司给员工准备的零食 被公司的HR当场批评 这个帖子一发出来 让现在测试行业日益新增的外包公司备受关注 那么外包公司和非外包公司有什么样的不一
  • 高防服务器什么意思

    高防服务器什么意思 为什么要用高防服务器 小编为您整理发布高防服务器什么意思的解读 高防服务器是指具备较高防御能力的服务器 能够抵御DDoS CC等网络攻击 高防服务器通常用于保护游戏 APP 金融 电商等业务 这些领域因为其业务特性 容易
  • 网工内推 | 上市公司同程、科达,五险一金,年终奖,最高12k*15薪

    01 同程旅行 招聘岗位 网络工程师 职责描述 1 负责职场 门店网络规划 建设 维护 2 负责网络安全及访问控制 上网行为管理和VPN设备的日常运维 3 负责内部相关网络自动化和系统化建设 4 优化与提升网络运行质量 制定应急预案 人员培
  • JMeter 中默认的响应超时是多少?

    如果我们没有在 HTTP 请求 采样器中设置任何超时 任何人都可以帮助了解 JMeter 中的默认响应时间吗 Thanks 它默认为0 无超时 设置超时的推荐方法是使用 GUI 如果由于某种原因它不适合您 您可以使用以下属性 用户属性 fi
  • 循环访问多个正则表达式提取器输出

    您能告诉我如何循环遍历返回多个值的正则表达式后处理器的结果吗 Example JSON 响应消息 reply code 111 status SUCCESS customerID 222 a b 333 44 4 s 555 666 777
  • Jmeter 而控制器似乎没有将变量评估为数字

    我正在编写一个 jmeter 脚本 该脚本会不断加载数据 直到表达到指定的大小 我有一个 while 循环 其中有一个 HTTP 采样器来加载数据 然后是另一个带有 XPath 后处理器的 HTTP 采样器来检查表大小 它们调用两个不同的
  • 使用extentreports获取jmeter测试结果

    对于任何使用 jmeter 进行 api 功能测试的人来说 报告并不是那么好 有没有人用过类似的东西http extentreports com http extentreports com 显示他们的测试结果 关于更好地显示测试结果的其他
  • JMeter 使用什么 Maven 插件? jmeter-maven-plugin 还是 chronos-jmeter-maven-plugin?

    我需要设置由 CI 系统自动触发运行的性能测试 为此 我想使用 JMeter 因为已经存在一些脚本和经验 并且我想将其与 Maven 结合起来 在我对合理插件的研究过程中 我发现存在两个插件 jmeter maven 插件 http wik
  • jmeter无法记录浏览器操作

    我正在使用 apache jmeter 2 6 我想使用 HTTP 代理服务器记录浏览器操作 但动作并没有记录 我已经在线程组下定义了 HTTP 请求默认值 我为服务器名称指定了值 如下所示 http www xxxxx com 81 ht
  • 负载测试时如何测量CPU和内存

    我们在异构环境中使用 JMeter 并且希望在运行服务或 Web 应用程序的服务器上产生重负载时测量 CPU 和内存 您建议使用什么 是否有任何软件解决方案 开源或商业 可以将 CPU 和内存使用情况记录在文件或数据库中 谢谢你 您可以使用
  • Jmeter JSR223 Sampler - 无法将数据写入 CSV 文件

    我正在使用 Jmeter v4 0 r1823414 根据这个答案 https stackoverflow com questions 50820389 unable to set incremental variable in jmete
  • 增加 JMeter 执行期间的线程数

    我有一个性能测试JMeter并想用它来测试最大系统性能 吞吐量 因此 当错误率低于 2 时 应增加活动线程数 我发现Constant Throughput Timer 把它放入Thread Group但它只会暂停或减慢线程 我尝试将其定义如
  • 使用 JMeter 对 1000 个用户进行负载测试时,Apache Tomcat 连接被拒绝错误

    我已经在 Linux 和 Apache Tomcat 7 0 42 中部署了 Java EE 应用程序 当我使用 JMeter 对 100 个用户进行负载测试 并发 100 个线程请求 时 一切正常 但是 一旦我将用户 或线程数 更改为 1
  • 暂停和恢复 jmeter 执行

    我正在寻找暂停和恢复 JMeter 执行 单 多线程 的选项 1 Pausing and Resuming through command line 2 From the Jmeter UI 3 By coding in some lang
  • Jmeter中的“延迟时间”与“连接时间”有什么区别?

    我是jmeter 3 1用户 我不清楚 延迟时间 与 连接时间 的区别 事实上 在jmeter官方文档中 是这样说的 新的连接时间指标 connectTime 表示建立连接的时间 默认情况下 它不会保存到 CSV 或 XML 要保存它 请添
  • 在jmeter中设置整个请求url

    我有一个请求 它提供上传网址作为响应正文 uploadUrl https test com 9000 sample uploadurl I m able to extract the uploadUrl using JSON extract
  • HTTP2 请求示例因 Jmeter4、Java 10 无客户端 ALPNProcessors 崩溃

    我无法使用 Jmeter 4 0 创建 HTTP2 请求 我已经安装了最新的 JDK 和 HTTP 2 协议采样器插件 我还观察到 penJDK8ClientALPNProcessor e23ec5a 不适用于 java 10 0 2 尝试
  • jmeter恒定视频流

    我正在使用 Jmeter 来加载测试视频流 我可以传递登录信息 但我需要让 Jmeter 在提供视频流的页面上 保持 我怎样才能做到这一点 我已经设置了 cookie 管理器 如果视频流不在您的服务器上 您根本不需要测试它 例如 如果您的网
  • 是否可以将 jmeter 变量包含在从 CSV 获取的值中?

    我有一个 csv 文件 其中包含名为 query 的列 我要查询的全部内容之一是 user id list list 我想要做的是让 jMeter 在将查询传递到 HTTP Sampler 时覆盖查询中的 list 和 id 变量 其中变量

随机推荐