更新时间:2025-12-09 GMT+08:00
分享

创建JMeter测试计划

JMeter测试计划概述

JMeter测试计划是指基于已定义的JMeter文件、依赖的jar包和变量文件发起一次性能测试的活动。通过在不同压测点持续对系统发起压力测试,获取并分析系统运行的性能数据。

您可以在一个测试工程中添加多个测试计划。

性能测试服务的JMeter引擎支持的脚本有:

  • 未使用任何第三方插件的JMeter创建的jmx脚本,其中JMeter支持5.2、5.3、5.4和5.6版本。
  • 使用了第三方插件,但是插件可以以jar包形式上传,且未修改ThreadGroup实现的大部分脚本。性能测试服务不确保此类脚本可以正常使用,需要在性能测试服务平台进行调试。

性能测试服务的JMeter引擎不支持脚本中的以下操作:

  • 性能测试服务不支持日志输出,仅支持请求日志。
  • 性能测试服务不支持线程组配置页面使用变量。

创建JMeter测试计划

  1. 登录性能测试服务控制台
  2. 在左侧导航栏中选择“JMeter测试工程”
  3. 单击待操作测试工程后的
  4. 测试计划页签中,单击“创建测试计划”。
  5. 在弹出的窗口中单击“添加文件”,选择格式为*.jmx的文件,单击“上传文件”,导入成功后将自动关闭窗口并返回“测试计划”页签,可以看到已添加的测试计划。

    • jmx文件的名称长度上限为64字节(含后缀),文件大小限制为10M。
    • 当前支持基本的JMeter脚本,包括线程组,HTTP请求,HTTP信息头管理器,请求参数,超时时间,BeanShell等。建议您使用5.2.1以上版本的脚本进行导入,以免出现脚本解析错误。

  6. 测试计划页签中,单击“第三方jar包”,在弹出的窗口中单击“添加文件”,选择测试计划所依赖的jar包并导入,导入成功后关闭窗口。

    上传第三方jar包时,请注意:

    • 请确保第三方jar包在本地JMeter工作时,位于JMeter根目录/lib/ext下。
    • 请确保使用第三方jar包的脚本在本地可以正常运行。
    • 第三方jar包的名称长度上限为64字节(含后缀),大小上限专业版为10M,企业版为80M。
    • Java 9及以上版本暂不支持第三方jar包上传功能。

  7. “测试计划”页签中,可以查看新添加的测试计划。

配置JMeter压力模式

创建测试计划后,可根据业务需求修改每个阶段的各项参数。

  1. “测试计划”页签中,单击待压力配置的“任务名称”,进入“计划详情”页,可看到当前线程组下的各个阶段,参照表1设置基本信息。

    表1 压力配置

    参数

    参数说明

    执行策略

    执行策略目前支持按时长和按次数。
    • 按时长:按照设定的持续时间进行压测。
    • 按次数:按照设定的发送总次数进行压测。

    线程数

    当前并发操作的虚拟用户数量。

    预热时间

    “阶段1”涉及修改该参数。

    对应JMeter脚本里的Ramp-Up字段,指并发用户数从0提升到设置的并发数值所需的时间。

    循环次数

    仅当“执行策略”“按次数”时涉及修改该参数。

    每个虚拟用户执行的次数。

    时间控制

    仅当“执行策略”“按次数”时涉及该参数。

    用于控制是否配置“最大时长”“启动延迟”两个参数,

    最大时长

    仅当“执行策略”“按次数”时,开启“时间控制”才可修改该参数。

    如果实际压测时长达到最大时长时,执行次数尚未达到循环次数,则线程组结束执行。

    持续时间

    仅当“执行策略”“按时长”时,涉及该参数。

    任务实际执行的时间,持续时间建议至少300s。

    启动延迟

    虚拟用户在等待设置启动延迟的时间后,再开始执行任务。

    “执行策略”“按次数”时,开启“时间控制”可修改该参数。

    “执行策略”“按时长”时,可以在“阶段1”修改该参数。

  2. 单击“确定”保存更新的配置信息。

导入文件变量

如果某些参数数量较大时,可直接通过csv格式文件或者xlsx格式文件导入,在用例业务接口压测过程当中,实现接口动态传参。

  1. “计划详情”页,单击页面右上方的“变量文件”。
  2. 在弹出的对话框中单击“本地导入”。
  3. 选择格式为csv或xlsx的文件,单击“上传”。

    变量文件限制如下:

    1. 导入的文件格式:.csv(UTF-8无BOM格式)和.xlsx。
    2. 文件的名称长度上限:50字节(含后缀)。
    3. 文件大小限制:
      • xlsx:专业版10M,企业版20M。
      • csv:专业版10M,企业版默认80M。

配置JMeter测试计划全局变量

  1. “计划详情”页,单击页面右上方的“全局变量”。
  2. 在弹出的对话框中单击“添加变量”。
  3. 输入变量名称、变量类型和变量值。

    变量有两种类型,分别是静态变量和均分变量:

    • 静态变量:以字符串形式下发内容,当脚本分布式执行时,每个节点获取到的变量值一样,例如下发静态变量successRate=0.8,2000并发,分两个执行器执行,每个执行器中的脚本中变量successRate的值都是0.8。
    • 均分变量:以整数的形式下发内容,当脚本分布式执行时,每个节点获取到的变量值平均分配,平均分配时采用整数除法,余数会被分配到其中一个节点,例如:
      • 下发均分变量tps=100,分四个执行器,每个执行器中的脚本中的变量tps的值是25。
      • 下发均分变量tps=20,分3个执行器,每个执行器中的脚本中的变量tps的值是8,6,6。
      • 下发均分变量tps=1,分四个执行器,每个执行器中的脚本中的变量tps的值是1,0,0,0。

      综上,使用均分变量时需注意:

      1. 如果被分配的值对是否均分非常敏感,请手动设置执行器数,确保变量的值是执行器数的整数倍。
      2. 如果被分配的值对是否均分不严格敏感,建议将被分配的值尽量调大,减少整数除法余数的影响,使其基本平均分配。
      3. 如果被分配的值不能为0,请手动设置执行器数,并确保变量的值大于执行器数。

    在全局变量中配置的变量,如果脚本的Test Plan - User Defined Variables中存在,则会覆盖脚本中定义的值。

    如果不存在,会在脚本的Test Plan – User Defined Variables中新建对应变量。

调试JMeter测试计划

新增或修改测试计划后,可通过调试快速发现语法或配置错误,确保该模型在任务中可用。

  1. “测试计划”页签中,单击待调试的任务名称,进入“计划详情”页,单击页面上方
  2. 在调试页面中选择已创建的私有资源组作为执行器,单击“启动”,启动调试,此时可以在调试页面看到调试进展。
  3. 调试完成后,如果调试结果报错,可根据异常信息,修改测试计划后重新导入、调试。导入方法请参见编辑测试计划
  4. 单击“查看日志”查看测试计划调试的具体内容。
  5. 在“调试记录”页签,查看调试的历史操作记录。

相关文档