news 2026/4/15 18:40:00

第三方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/4/14 11:40:18

jQuery EasyUI 菜单与按钮 - 创建分割按钮(Split Button)

jQuery EasyUI 菜单与按钮 - 创建分割按钮&#xff08;Split Button&#xff09; jQuery EasyUI 的 splitbutton 组件是一种特殊的菜单按钮&#xff0c;它将按钮分为两个部分&#xff1a; 左侧主体&#xff1a;可点击执行默认主要操作&#xff08;例如“保存”&#xff09;。…

作者头像 李华
网站建设 2026/4/13 19:07:02

彼得林奇对公司管理层薪酬结构的合理性评估

彼得林奇对公司管理层薪酬结构的合理性评估关键词&#xff1a;彼得林奇、公司管理层、薪酬结构、合理性评估、企业管理摘要&#xff1a;本文深入探讨了彼得林奇对公司管理层薪酬结构合理性评估的相关内容。从背景介绍入手&#xff0c;阐述了研究目的、预期读者等信息。接着详细…

作者头像 李华
网站建设 2026/4/7 18:43:28

jQuery EasyUI 数据网格 - 转换 HTML 表格为数据网格

jQuery EasyUI 数据网格 - 转换 HTML 表格为数据网格&#xff08;DataGrid&#xff09; jQuery EasyUI 的 datagrid 组件最强大的功能之一就是可以直接将现有的 HTML <table> 表格转换为功能丰富的 DataGrid&#xff0c;而无需重新定义列或数据源。这非常适合快速升级传…

作者头像 李华
网站建设 2026/4/9 17:31:12

FreePBX 修复多个严重漏洞

聚焦源代码安全&#xff0c;网罗国内外最新资讯&#xff01;编译&#xff1a;代码卫士开源的 PBX 平台 FreePBX 上存在多个漏洞&#xff0c;其中一个严重漏洞在某些配置下课导致认证绕过漏洞。这些漏洞由 Horizon3.ai 团队发现并在2025年9月15日报送给项目维护人员。这些漏洞如…

作者头像 李华
网站建设 2026/4/12 16:39:24

解码企业管理新范式:如何以技术驱动实现企业全周期价值跃升

在数字化浪潮与产业升级的双重变革下&#xff0c;企业管理的核心已从传统的流程管控&#xff0c;演进为以资本化加速、合规化运营、精益化增长为目标的战略赋能。选择一家真正具备深厚实力、技术底蕴与全景服务能力的合作伙伴&#xff0c;已成为企业在激烈竞争中构筑护城河的关…

作者头像 李华
网站建设 2026/4/13 5:16:08

EmotiVoice使用指南:快速上手高表现力TTS模型

EmotiVoice使用指南&#xff1a;快速上手高表现力TTS模型 在虚拟助手越来越“懂人心”、游戏角色开始“真情流露”的今天&#xff0c;语音合成早已不再是简单地把文字念出来。用户期待的是有温度、有情绪、像真人一样的声音——而这一点&#xff0c;正是传统TTS系统的短板。 机…

作者头像 李华