用途:为 Gatling 负载与性能测试提供统一的仿真编写规范,适用于新建项目、修复已有仿真或解决 DSL 问题。覆盖 Java、Kotlin、Scala、JavaScript、TypeScript 五种官方支持语言。
主要能力:输出完整可运行仿真文件而非片段,附运行命令与环境参数(baseUrl、users 等),并说明所选注入策略的理由。要求每个仿真按固定顺序包含五个块:Protocol(baseUrl、请求头、连接设置)、Feeders(按虚拟用户注入测试数据)、Scenario(有序请求链、暂停与校验)、Injection(用户数与速率、持续时间)、Assertions(成功率与响应时间阈值等通过/失败判定)。
使用方式:先收集未知上下文(语言、构建工具 Maven/Gradle/npm、协议 HTTP/REST、WebSocket、MQTT、JMS,以及目标);新建项目时运行交互式脚手架 bash scripts/scaffold.sh(Windows 为 .\scripts\scaffold.ps1),需用户在终端自行执行;随后可用 bash scripts/validate.sh [project-dir] 校验常见配置问题。Kotlin+Gradle 需注意 Kotlin 插件先于 Gatling 插件、声明 mavenCentral()、Java 21+ 的 --add-opens 参数,源码放 src/gatling/kotlin/;JS/TS 文件须置于 src/ 且以 .gatling.js/.gatling.ts 结尾,并配置 tsconfig.json。
适用场景:Web API 与无状态服务的负载、容量、浸泡、压力与 SLA 合规测试;可用 throttle 固定 RPS,选择开盘注入(如 rampUsers、constantUsersPerSec)或闭盘注入(如 constantConcurrentUsers)以匹配连接池、队列或会话限制场景。
限制与常见错误:请求间缺少 pause()、硬编码动态令牌、对负载测试使用 atOnceUsers、缺少断言、长时间测试使用 .queue() 数据耗尽、校验失败误判为请求失败、发送请求体时遗漏 Content-Type。另有语言差异:Scala 中 .asJson() 不可链在 .body() 后、零参断言方法不加括号;Kotlin 的 percentile() 需 Double 参数;JS/TS 的 jsonPath、StringBody 从 @gatling.io/core 导入,运行时用 getEnvironmentVariable 而非 process.env。具体安装与运行细节请以项目资料为准,本资料未提供价格与平台信息。