news 2026/6/10 16:41:53

第三方CMA/CNAS双资质软件测评机构:【Gatling命令行执行:gatling.sh/bat参数详解和批量执行】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第三方CMA/CNAS双资质软件测评机构:【Gatling命令行执行:gatling.sh/bat参数详解和批量执行】

Gatling 的启动脚本 gatling.sh (Unix/Linux) 或 gatling.bat (Windows) 位于安装目录的 bin/ 下。执行流程是:启动 -> 选择或指定要运行的模拟类 -> 运行并生成报告。

要查看所有基础参数,可以使用 gatling.sh -h。主要参数可分为两类:

1. 运行控制参数

这些参数直接控制测试的启动和执行,一般需要组合使用。

-s <simulation class>:最重要的参数。指定要运行的模拟类的完全限定名(如 computerdatabase.BasicSimulation),可以跳过交互式选择。

-rf <results folder>:指定结果报告的输出目录。默认是 $GATLING_HOME/results。

-rd <run description>:为本次运行提供一个描述,该描述会显示在生成的报告中。

-m / --mute:以静默模式运行,不输出除错误外的任何信息到控制台。

-nr / --no-reports:仅运行测试,但不生成 HTML 报告。通常用于配合 -ro 参数。

-ro <report folder>:仅针对已存在的、包含日志的结果文件夹(由 -nr 运行产生)生成HTML报告。

2. 配置覆盖参数

这类参数用于在命令行临时覆盖 gatling.conf 配置文件中的设置。

-onn <output directory base name>:覆盖报告文件夹名称的前缀。

-df <data folder>:覆盖存放 csv 等数据文件的目录路径。

-bdf <bodies folder>:覆盖存放请求体的目录路径。

-sf <simulations folder>:覆盖查找模拟类文件的目录。

执行示例

# 方式一:交互式运行(最常用) $GATLING_HOME/bin/gatling.sh # 按提示输入模拟类编号和描述 # 方式二:非交互式直接运行(适用于自动化) $GATLING_HOME/bin/gatling.sh \ -s computerdatabase.BasicSimulation \ -rd "My Baseline Test" \ -rf /opt/tests/results/

实现批量执行的方法

Gatling本身不直接提供批量运行多个模拟类的单一命令,可以通过以下几种方式实现。

方法一:Shell/Batch脚本循环

这是最直接、灵活的方式。编写一个脚本,循环调用 gatling.sh 执行不同的模拟类。

#!/bin/bash SIMULATIONS=("simulation.A" "simulation.B" "simulation.C") for SIM in "${SIMULATIONS[@]}" do echo "开始运行: $SIM" $GATLING_HOME/bin/gatling.sh -s "$SIM" -m # 可以在这里添加每个测试完成后的处理,如移动报告、发送通知等 done

方法二:使用构建工具 (Maven/Gradle/SBT)

对于项目集成,这是首选。通过在构建脚本中配置多个执行目标来实现。

Maven示例 (使用 gatling-maven-plugin):在 pom.xml中配置多个 <execution>,每个指定不同的simulationClass,然后运行mvn gatling:test。

方法三:创建元模拟类

编写一个顶层的Scala模拟类,使用Gatling的 setUp 方法按顺序或逻辑组合多个子场景。这种方法在技术上最“原生”,但需要对Gatling的DSL有更深理解。

方法四:使用专用编排工具

对于更复杂的分布式或容器化环境,可以考虑专门的编排方案。

Gatling Commander:这是一个Kubernetes Operator的CLI工具,可以读取一个定义了多个测试场景的YAML配置文件,自动在K8s集群上按顺序创建和运行分布式Gatling测试任务,并收集结果。

Gatling Pea:这是一个支持多节点分布式压测的包装工具,可以通过其管理功能来编排多个测试任务。

注意事项:

资源路径:保证脚本、数据文件 (csv) 和请求体文件的路径在命令行执行模式下是正确的。可以通过 -df 和 -bdf 参数调整。

结果管理:在批量执行时,为每次运行使用唯一的 -rd 描述和/或使用 -onn 或 -rf 来分隔不同运行的结果,避免覆盖。

环境变量:可以通过 JAVA_OPTS 环境变量为Gatling进程传递JVM参数,如堆内存设置 (-Xmx4G -Xms1G)。

结果后处理:批量自动化运行时,可以编写脚本解析 results 目录下的 simulation.log 文件,或直接处理生成的 index.html 报告,以提取重要指标并生成集成报告。

Gatling的命令行执行重要在于 -s 参数指定模拟类,而批量执行则需通过外层脚本、构建工具或专用编排框架来实现。

文章来源:卓码软件测评

精彩推荐:点击蓝字即可
软件负载测试API自动化测试软件测试第三方软件测试软件性能测试软件测试机构

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:11:32

第P2周:CIFAR10彩色图片识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 目录 一、 前期准备 1. 设置GPU 2. 导入数据 3. 数据可视化 二、构建简单的CNN网络 三、 训练模型 1. 设置超参数 2. 编写训练函数 3. 编写测试函数 …

作者头像 李华
网站建设 2026/6/9 19:10:19

Spring Retry 全维度详解(结合 OpenFeign 实战)

目录 一、核心设计理念 二、快速入门&#xff1a;核心依赖与启用 1. 引入依赖 2. 启用 Spring Retry 三、核心使用方式 方式 1&#xff1a;声明式重试&#xff08;注解方式&#xff0c;推荐&#xff09; 1. 基础示例&#xff08;结合 OpenFeign&#xff09; 2. 注解参数…

作者头像 李华
网站建设 2026/6/10 7:32:49

无需训练数据!EmotiVoice实现秒级声音克隆的秘密

无需训练数据&#xff01;EmotiVoice实现秒级声音克隆的秘密 在智能语音助手越来越“懂人心”的今天&#xff0c;我们是否曾期待过——它开口说话时&#xff0c;用的是亲人的嗓音&#xff1f;或是喜欢的主播语气&#xff1f;甚至&#xff0c;在讲笑话时真的能“笑出声”&#x…

作者头像 李华
网站建设 2026/6/10 11:12:14

EmotiVoice语音合成情感渐变功能:从平静到激动平滑过渡

EmotiVoice语音合成情感渐变功能&#xff1a;从平静到激动平滑过渡 在虚拟主播声情并茂地讲述故事、游戏角色因剧情转折突然爆发怒吼的那一刻&#xff0c;你是否曾好奇——这些声音是如何生成的&#xff1f;它们为何听起来如此真实而富有感染力&#xff1f;随着AI语音技术的发展…

作者头像 李华
网站建设 2026/6/10 11:27:30

告别低效!3种工具大幅提升大文件下载测试效率

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个对比测试工具&#xff0c;能同时运行curl、wget和aria2三种下载方式&#xff0c;自动记录各自的下载速度、CPU占用和内存消耗。要求可视化展示对比结果&#xff0c;支持导出…

作者头像 李华