当前位置: 首页 > news >正文

Jmeter接口自动化测试

🍅点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

之前我们的用例数据都是配置在HTTP请求中,每次需要增加,修改用例都需要打开JMeter重新编辑,当用例越来越多的时候,用例维护起来就越来越麻烦,有没有好的方法来解决这种情况呢?我们可以将用例的数据存放在csv文件中,然后通过csv文件配置来读取用例中的数据,执行测试。

一:设置测试用例,创建用例数据文件:testcase.csv

用例名称变量含义:

${caseSeq}:用例编号

${apiType}:api 类型

${apiSeq} :api 版本号

${apiName}:api 名称

${priority}:优先级

${url}:api 路径

${methods}:请求方法

${parameter}:请求参数

${expectValue}:期望值,用于断言

注意:为了避免JMeter读取CSV文件出现乱码的情况,应先创建xls的文件,然后另存为csv格式的文件。

二:新建一个线程组,命名为:数据驱动,添加配置元件-HTTP请求默认值,配置好IP地址和端口号

三:添加逻辑控制器-循环控制器。 循环控制器的作用可以控制整个用例循环执行的次数。默认值是1根据用例数量可以修改为8

四:在循环控制器节点下添加CSV数据文件设置,具体配置内容如下:

五:添加逻辑控制器——如果(if) 控制器,if 控制器的作用为根据不同条件执行不同的用例,例如这里根据不同的接口请求类型,分别添加GET和POST两个控制器。

(1)GET 设置的条件语句为:"${methods}"=="GET",其中 ${methods}表示引用 csv 中的 methods 中的值

(2)POST 条件语句设置为:"${methods}"=="POST"

注:Interpret Condition as Variable Expression?:如果这个选项被选中,将不会使用 js 解析;条件表达式的值必须是 true(忽略大小写),这里我们取消勾选状态。

Evaluate for all children:如果选中这一项,在每个子结点执行前都会计算表达式

六:GET和POST两个控制器下分别添加请求和响应断言

(1)添加GET请求类型的用例,用例名称格式:${caseSeq}_ ${apiSeq}_${apiName}

注:以CSV文件的参数名称来组合命名HTTP请求的名称,这样在结果树就会依据用例的编号,接口名称等显示每个用例的名称—153

(2)断言设置如下:${expectValue}引用 csv 中对应的值。

(3)添加POST请求类型的用例,用例名称格式:${caseSeq}_ ${apiSeq}_${apiName}

(4)断言设置如下:${expectValue}引用 csv 中对应的值。

(5)POST请求如果发送的是json格式的参数,需要添加配置元件-HTTP信息头管理器,写入名称:Content-Type;值:application/json

七:添加监听器-察看结果树,点击运行,查看执行结果

通过这样的数据驱动,当面对大量用例时在JMeter设置就非常方便,后续的用例维护也非常高效,因为不用在JMeter一个个去单独修改用例了。

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

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

http://www.jsqmd.com/news/432566/

相关文章:

  • 从零开始构建AI智能体:Python实现指南,小白也能学会并收藏!
  • 为什么国内大厂纷纷”弃坑”MySQL,转投PostgreSQL阵营?
  • MyBatis-Plus 中的 `extends BaseMapper<UserEntity>` 到底是什么意思?
  • 大文件秒传:Java 21 FFM API与虚拟线程结合的IO性能极致优化
  • 节约安全成本:企业如何选择合适的事件日志管理(SIEM )解决方案?
  • Spring Boot事件监听机制
  • 2026创作者必看|免费音乐素材网站推荐 5个可商用不侵权(亲测不踩坑)
  • 英伟达豪掷20亿领投AI数据,亚马逊/谷歌/微美全息加码竞逐算力底层基建跃进
  • ZW3D二次开发_ZwFeatureLineCreateBy2Point_两点创建3D直线
  • 数字孪生+AI:中铁伊通-仓储流程智慧管控,现代物流数智协同
  • P4205 [NOI2005] 智慧珠游戏
  • 2 The Psychology and Economics of Software Testing
  • 隧道代理:网络世界的隐形桥梁与安全卫士
  • 临床执医备考老师怎么选?深度测评阿虎楚然与阳光老师 - 医考机构品牌测评专家
  • Blender中用Python函数添加猴头模型的实战指南
  • NVIDIA NVD-001 認證考試完整介紹|NVIDIA Certified Associate 入門級證照介紹
  • Java 后端定时任务实现方案与工程化指南
  • NVIDIA NCA-GENL 認證完整介紹|NVIDIA 生成式 AI 與 LLM 入門證照解析
  • 高低温试验箱建设与设备选购指南:从供应商到头部企业全面解析 - 品牌推荐大师1
  • openclaw token位置
  • 2026企业商旅平台厂商品牌解析与选型指南
  • DirectX下载安装指南:2026最新版DirectX修复全攻略,告别 dll 缺失报错 - xiema
  • java八股文(全网最全)
  • 淘宝平台运费API接口技术指南
  • 淘宝商品上下架状态监测API技术实现指南
  • Java 开发千万别给布尔变量加 is 前缀!很容易背锅
  • 2026 最终版:国内订阅 ChatGPT Plus 避坑指南(含 GPT-5.2 激活与代充方案实测)
  • 接口测试 —— 接口和接口文档概念
  • 活动现场签到怎么做?5种签到方式的实现步骤 - Echo8
  • 步进控制的光栅尺全闭环EtherCAT运动控制器ZMC432CL-V2快速入门:二维螺距补偿(下)