news 2026/5/1 12:27:20

第三方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/5/1 7:51:37

2026毕设ssm+vue基于框架的华建汽车出租系统设计与实现论文+程序

本系统&#xff08;程序源码&#xff09;带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、选题背景 关于动漫内容管理与推荐系统的研究&#xff0c;现有研究主要以传统CMS&#xff08;内容管理系统&#xff09;或通用媒体平台为…

作者头像 李华
网站建设 2026/5/1 6:54:51

AI应用架构师干货:GNN在医疗病历分析中的架构设计

AI应用架构师干货&#xff1a;GNN在医疗病历分析中的架构设计 一、引言 (Introduction) 钩子&#xff1a;医疗病历里的“隐藏关系”陷阱 凌晨3点&#xff0c;急诊室的张医生盯着电脑屏幕上的电子病历&#xff08;EHR&#xff09;眉头紧锁&#xff1a;52岁的糖尿病患者李阿姨&am…

作者头像 李华
网站建设 2026/4/30 21:42:26

1分钟原型开发:Vue3组件通信的即时验证方案

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 请设置一个即开即用的Vue3组件通信沙盒环境&#xff1a;1.预置父子组件基础结构&#xff1b;2.内置3种常用通信方法的代码片段&#xff08;emit示例、provide示例、ref示例&#xf…

作者头像 李华
网站建设 2026/5/1 3:45:03

AI助力Windows Server 2016部署:自动化下载与配置指南

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个AI辅助工具&#xff0c;能够自动从微软官方或可信源下载Windows Server 2016 ISO镜像&#xff0c;并生成对应的校验信息。工具应包含以下功能&#xff1a;1)自动检测用户网…

作者头像 李华