Jmeter【测试片段】之登录复用介绍

文章目录

测试片段 Test Fragment

1.定义

测试片段:是一种特殊的测试组件,不会独立执行(需通过 Include Controller 或 Module Controller 被其他线程组调用),仅作为其他组件的引用资源。类似 "函数库" 或 "子模块",用于封装可复用的测试逻辑(如常用请求、断言等)。

2.适用场景

公共测试逻辑:如登录流程、数据初始化等,使用Moudule Controller有条件地调用

参数化模板:封装参数化配置,供多个测试场景复用。

3.使用实例

登录封装:

1.创建 Test Fragment,添加登录请求、正则表达式(提取cookie)、Debug Sample(验证提取结果,可无)组件。

2.在其他线程组中使用 Include Controller 选择对应的 Test Fragment,注意Include Controller 位置必须放在 after login http请求之前,否则会先执行after login http

备注:

在 JMeter 中使用 Test Fragment 复用时,有两种方式可以选择(Include Controller路径配置)

  • 在同一测试计划中复用(推荐)
  • 保存为外部 JMX 文件复用

实例图:

正则表达式提取token参考:

代码示例:

xml 复制代码
<!-- 测试计划结构 -->
<TestPlan>
  <!-- 1. 定义 Test Fragment -->
  <TestFragment>
    <HTTPSamplerProxy>
      <!-- 登录请求 -->
    </HTTPSamplerProxy>
    <RegexExtractor>
      <!-- 提取 Token -->
    </RegexExtractor>
  </TestFragment>

  <!-- 2. 线程组1:订单模块测试 -->
  <ThreadGroup>
    <IncludeController>
      <stringProp name="IncludeController.filename">Login Fragment</stringProp>
    </IncludeController>
    <HTTPSamplerProxy>
      <!-- 订单请求,使用 ${token} -->
    </HTTPSamplerProxy>
  </ThreadGroup>

  <!-- 3. 线程组2:用户管理测试 -->
  <ThreadGroup>
    <IncludeController>
      <stringProp name="IncludeController.filename">Login Fragment</stringProp>
    </IncludeController>
    <HTTPSamplerProxy>
      <!-- 用户管理请求 -->
    </HTTPSamplerProxy>
  </ThreadGroup>
</TestPlan>

备注:

使用参数传递实现跨线程组共享Token的方式:

  • 登录线程组:
    提取 Token → ${token}
    BeanShell 后置处理器:props.put("token", vars.get("token"));
  • 订单线程组:
    BeanShell 前置处理器:vars.put("order_token", props.get("token"));
    在请求头中使用:Authorization: Bearer ${order_token}
相关推荐
se-tester5 天前
JMeter、Postman 和 SoapUI 在做接口测试上的优势和缺点
测试工具·jmeter·接口测试·postman·soapui
feathered-feathered6 天前
测试实战【用例设计】自己写的项目+功能测试(1)
java·服务器·后端·功能测试·jmeter·单元测试·压力测试
质量保障小乔10 天前
JMeter+Jenkins+AI自动化测试
jmeter
装不满的克莱因瓶12 天前
Java高并发异步请求实战,Jmeter暴力压测下的解决方案
jmeter·线程池·多线程·并发·resttemplate·qps·压测
在坚持一下我可没意见18 天前
ideaPool论坛系统测试报告
java·spring boot·功能测试·selenium·jmeter·mybatis·压力测试
linweidong20 天前
别让老板等:千人并发下的实时大屏极致性能优化实录
jmeter·clickhouse·性能优化·sentinel·doris·物化视图·离线数仓
CesareCheung21 天前
JMeter核心组件使用方法及场景大全
jmeter
我会一直在的21 天前
Jmeter的基础使用
功能测试·jmeter·压力测试
choke23322 天前
软件性能测试实战:从基础概念到 JMeter 全组件使用
jmeter
网络安全-杰克23 天前
Jmeter压力测试工具安装与使用
自动化测试·软件测试·测试工具·jmeter·职场和发展