Files
Jog/e2e/playwright.config.js
nojava 6c8b31e38a feat: AI 助手模型管理(CRUD、会话绑定、自动化验收)
- Flyway V6:模型表、默认种子、ai_chat_session.model_id 回填
- 管理端 /api/admin/ai/models;用户端选模与新会话绑定
- 禁用模型后会话只读(5009);chat 按会话 modelCode 调 DashScope
- 前端 AiModels 页、助手模型选择器与 localStorage
- 单测、AiModelManagementApiIT、Playwright E2E;e2e Profile 关闭注解限流
- 技术实施文档与验收报告;移除过期冲突分析文档

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-24 03:36:31 +08:00

51 lines
1.5 KiB
JavaScript

import { defineConfig, devices } from '@playwright/test'
import path from 'path'
import { fileURLToPath } from 'url'
const __dirname = path.dirname(fileURLToPath(import.meta.url))
const repoRoot = path.resolve(__dirname, '..')
const isWin = process.platform === 'win32'
const mvn = isWin ? 'mvn.cmd' : 'mvn'
const backendStart = isWin
? `cmd /c "${mvn} -pl jog-admin -am install -Dmaven.frontend.skip=true -DskipTests && ${mvn} -pl jog-admin spring-boot:run -Dmaven.frontend.skip=true -Dspring-boot.run.profiles=e2e"`
: `${mvn} -pl jog-admin -am install -Dmaven.frontend.skip=true -DskipTests && ${mvn} -pl jog-admin spring-boot:run -Dmaven.frontend.skip=true -Dspring-boot.run.profiles=e2e`
export default defineConfig({
testDir: './tests',
timeout: 120_000,
expect: { timeout: 15_000 },
fullyParallel: false,
workers: 1,
retries: 0,
reporter: [['list']],
use: {
baseURL: 'http://localhost:5173',
trace: 'on-first-retry',
screenshot: 'only-on-failure',
},
projects: [
{
name: 'chromium',
use: { ...devices['Desktop Chrome'] },
},
],
webServer: [
{
command: backendStart,
url: 'http://localhost:8080/api/public/captcha',
reuseExistingServer: !process.env.CI,
timeout: 300_000,
cwd: repoRoot,
},
{
command: 'npm run dev',
url: 'http://localhost:5173',
reuseExistingServer: !process.env.CI,
timeout: 120_000,
cwd: path.join(repoRoot, 'jog-frontend'),
},
],
})