Files
Jog/e2e/README.md
T

63 lines
1.9 KiB
Markdown
Raw Normal View History

# Jog E2EPlaywright
## 前置条件
1. 线上 MySQL 已建库并授权(推荐隔离库):
```sql
CREATE DATABASE IF NOT EXISTS jog_test CHARACTER SET utf8mb4;
GRANT ALL PRIVILEGES ON jog_test.* TO 'jog'@'%';
FLUSH PRIVILEGES;
```
2. 启动测试前设置(可选):
```powershell
$env:MYSQL_DATABASE = "jog_test"
$env:DASHSCOPE_API_KEY = "你的百炼Key" # 浏览器 chat 已 Mock,可不设
```
若暂未建 `jog_test`,默认使用 `jog` 库(`application-e2e.yml`)。
3. 管理员密码:应用启动后会被重置为 `admin@123`(见 `DatabaseInitializationVerifier`)。
4. **首次或改过后端代码**:在仓库根目录执行 `mvn -pl jog-admin -am install -Dmaven.frontend.skip=true -DskipTests`,否则 `spring-boot:run` 可能加载 `.m2` 中旧版 `jog-module-blog`(表现为 `/api/admin/ai/models` 404)。
## 测试模型
- 模型编码:`qwen3-vl-32b-thinking`
- 展示名称:`Qwen3 VL 32B Thinking`
## 运行
```bash
cd e2e
npm install
npm run install:browsers
npm test
```
Playwright 会自动执行(首次较慢):
1. `mvn -pl jog-admin -am install …` + `mvn -pl jog-admin spring-boot:run -Dspring-boot.run.profiles=e2e`
2. `npm run dev`jog-frontend
本地已手动启动 8080/5173 时,会复用现有进程(`reuseExistingServer`,勿设置 `CI=true`)。
## 用例
| 编号 | 文件 | 说明 |
| :--- | :--- | :--- |
| TC-AI-MODEL-E2E-18 | `tests/ai-model-management.spec.js` | 管理端 UI 上架模型 → 助手选模型、新会话、Mock 对话 |
| TC-AI-MODEL-E2E-19 | 同上 | 禁用模型 → 旧会话只读 |
`e2e` Profile 下 `jog.rate-limit.enabled=false`,避免注册/登录全局限流影响联调。
## API 集成测试(Maven
```bash
mvn test -pl jog-admin -am -Dmaven.frontend.skip=true -Dtest=AiModelManagementApiIT
```
Docker 可用时也可使用 Testcontainers`application-test` + `IntegrationTestContainers`)。