# api_performance_test **Repository Path**: hu-ruifan/api_performance_test ## Basic Information - **Project Name**: api_performance_test - **Description**: 基于Python的locust分布式压力测试 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-20 - **Last Updated**: 2025-03-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # API性能测试项目 使用Locust进行API接口压力测试的Python项目。 ## 项目结构 ``` api_performance/ ├── README.md # 项目说明文档 ├── requirements.txt # 项目依赖 ├── locustfile.py # Locust测试主文件 ├── config.py # 测试配置 ├── utils.py # 工具函数 └── run_test.py # 运行测试脚本 ``` ## 环境要求 - Python 3.7+ - 需要安装的包在requirements.txt中 ## 安装 ```bash # 创建虚拟环境 python -m venv .venv # 激活虚拟环境 # Windows .venv\Scripts\activate # Mac/Linux source .venv/bin/activate # 安装依赖 pip install -r requirements.txt ``` ## 配置 修改`config.py`文件中的配置信息: - `ENVIRONMENTS`: 不同环境的API基本URL - `TEST_USERS`: 测试用户凭据 - `ENDPOINTS`: API端点路径 - `TEST_DATA`: 测试数据 ## 运行测试 ### 方法1:使用Locust自带的Web界面 ```bash # 默认开发环境 locust # 指定测试环境 TARGET_ENV=staging locust ``` 然后访问 http://localhost:8089 启动测试 ### 方法2:使用命令行 ```bash # 直接运行命令行测试 locust --headless -u 100 -r 10 -t 5m ``` ### 方法3:使用脚本 ```bash # 运行脚本 python run_test.py ``` ## 测试选项说明 - `-u, --users`: 模拟用户总数 - `-r, --spawn-rate`: 每秒生成的用户数 - `-t, --run-time`: 测试持续时间 - `--headless`: 不启动Web界面 - `--host`: 目标主机URL (可选,可从config.py获取) - `--tags`: 仅执行带有特定标签的任务 ## 示例 ```bash # 运行指定标签的测试 locust --tags users,orders -u 50 -r 5 -t 2m # 仅测试管理员功能 locust --tags admin -u 10 -r 2 # 产品相关测试,指定环境 TARGET_ENV=prod locust --tags products -u 200 -r 20 -t 10m ``` ## 注意事项 1. 确保API端点在配置文件中正确设置 2. 压力测试可能对目标系统造成负担,请在适当的环境中进行 3. 对于生产环境测试,建议先获得许可 4. 测试报告会保存在当前目录