Gatling 系列专题(第二篇):安装与初次体验 Gatling
前言
在第一篇中,我们了解了 Gatling 的背景、核心特点以及它在性能测试中的价值。现在,让我们迈出第一步:安装 Gatling 并运行一个简单的测试。通过本篇,你将学会如何准备环境、启动 Gatling,以及体验它的基本功能。
安装 Gatling 的准备
Gatling 是一个跨平台的工具,支持 Windows、macOS 和 Linux。安装它并不复杂,但需要满足以下基本条件:
- Java 环境:Gatling 依赖 Java 运行时环境(JRE),推荐使用 Java 11 或更高版本。
- 硬件要求:至少 2GB 可用内存和 500MB 磁盘空间,具体需求视测试规模而定。
步骤 1:下载 Gatling
- 访问 Gatling 官方网站:gatling.io。
- 点击“Download”或直接前往开源版本的下载页面。
- 选择最新版本(截至 2025 年 3 月 23 日,推荐使用 3.x 系列,如 3.10.x),下载 ZIP 文件(例如
gatling-charts-highcharts-bundle-3.10.0.zip
)。 - 解压文件到你喜欢的位置,例如
C:\Gatling
(Windows)或/opt/gatling
(Linux/macOS)。
解压后,目录结构如下:
bin/
:包含启动脚本(gatling.sh
或gatling.bat
)。lib/
:核心库文件。conf/
:配置文件。user-files/
:存放测试脚本和数据。
步骤 2:验证安装
- 打开终端(Windows 用户可使用 CMD 或 PowerShell)。
- 导航到 Gatling 的
bin
目录,例如:1
cd /opt/gatling/gatling-charts-highcharts-bundle-3.10.0/bin
- 运行启动脚本:
- Linux/macOS:
./gatling.sh
- Windows:
gatling.bat
- Linux/macOS:
- 如果看到 Gatling 的欢迎界面和示例测试列表,说明安装成功。
步骤 3:运行第一个测试
Gatling 自带了一些示例脚本,我们可以用它们来体验功能。
- 在终端中运行启动脚本后,选择一个示例(输入对应编号,例如
0
)。 - Gatling 会执行测试,模拟用户访问预设的目标网站(通常是 Gatling 自己的测试服务器)。
- 测试完成后,终端会显示报告路径,例如:
Reports generated in /opt/gatling/user-files/reports/simulation-20250323123456
- 打开报告文件夹,找到
index.html
,用浏览器查看结果。你会看到请求统计、响应时间分布等图表。
步骤 4:创建一个简单测试
让我们自己动手写一个脚本,测试某个网站的首页。
- 进入
user-files/simulations
目录。 - 新建一个文件,例如
MyFirstTest.scala
,输入以下内容:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
import io.gatling.core.Predef._ import io.gatling.http.Predef._ import scala.concurrent.duration._ class MyFirstTest extends Simulation { val httpProtocol = http .baseUrl("https://example.com") // 替换为你想测试的网站 .acceptHeader("text/html,application/json") val scn = scenario("MyFirstScenario") .exec(http("HomePageRequest") .get("/")) setUp( scn.inject(atOnceUsers(5)) // 5 个用户同时访问 ).protocols(httpProtocol) }
- 保存文件后,运行
gatling.sh
或gatling.bat
,在列表中选择你的脚本(例如输入编号)。 - 测试完成后,查看生成的报告。
常见问题与解决
- Java 未找到:确保 JAVA_HOME 环境变量已配置。
- 权限错误(Linux/macOS):运行
chmod +x gatling.sh
赋予执行权限。 - 报告打不开:检查路径是否正确,或尝试用不同浏览器打开
index.html
。
第二篇小结
通过本篇,你已经成功安装了 Gatling 并运行了第一个测试。无论是使用内置示例还是自己编写脚本,你都能感受到 Gatling 的直观与强大。下一期,我们将深入探讨如何编写更复杂的测试脚本,模拟真实用户行为,并优化测试流程。准备好迎接性能测试的进阶挑战了吗?