You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在多环境运行同一Gatling测试:环境变量配置与传参方案

Gatling多环境测试配置方案

1. 创建环境专属配置文件

在src/test/resources目录下,为每个环境创建独立的配置文件,存放对应环境的URL及其他配置项:

  • env-dev.conf
baseUrl = "http://dev-api.example.com"
userApi = "${baseUrl}/users"
orderApi = "${baseUrl}/orders"
  • env-qa.conf
baseUrl = "http://qa-api.example.com"
userApi = "${baseUrl}/users"
orderApi = "${baseUrl}/orders"
  • env-prod.conf
baseUrl = "https://prod-api.example.com"
userApi = "${baseUrl}/users"
orderApi = "${baseUrl}/orders"

2. 在Simulation类中动态加载配置

修改Gatling测试的Simulation类,读取运行时传入的GATLING_ENV变量,自动加载对应环境的配置:

import io.gatling.core.Predef._
import io.gatling.http.Predef._
import com.typesafe.config.ConfigFactory

class ApiSimulation extends Simulation {
  // 读取运行时环境变量,默认用dev兜底
  val env = System.getProperty("GATLING_ENV", "dev")
  // 加载对应环境的配置文件
  val config = ConfigFactory.load(s"env-${env}")
  val baseUrl = config.getString("baseUrl")
  val userApiUrl = config.getString("userApi")

  val httpConf = http
    .baseUrl(baseUrl)
    .acceptHeader("application/json")

  // 测试场景示例
  val scn = scenario("ApiTest")
    .exec(http("GetUsers")
      .get(userApiUrl))

  setUp(
    scn.inject(atOnceUsers(1))
  ).protocols(httpConf)
}

3. 运行对应环境的测试

通过Gradle命令传入GATLING_ENV参数,指定要运行的环境:

  • 运行开发环境测试
./gradlew clean gatlingRun -DGATLING_ENV="dev"
  • 运行QA环境测试
./gradlew clean gatlingRun -DGATLING_ENV="qa"
  • 运行生产环境测试
./gradlew clean gatlingRun -DGATLING_ENV="prod"

内容的提问来源于stack exchange,提问作者Banu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 17:52:54